Provided by: tcllib_1.14-dfsg-1_all bug


       doctools::cvs - Processing text in 'cvs log' format


       package require Tcl  8.2

       package require textutil

       package require doctools::cvs  ?1?

       ::doctools::cvs::scanLog text evar cvar fvar

       ::doctools::cvs::toChangeLog evar cvar fvar



       This  package provides Tcl commands for the processing and reformatting text in the format
       generated by the cvs log command.

       The commands ::doctools::cvs::scanLog and ::doctools::cvs::toChangeLog  are  derived  from
       code  found on the Tcl'ers Wiki []. See the references at the end of the


       ::doctools::cvs::scanLog text evar cvar fvar
              The command takes the text and parses it under the assumption that  it  contains  a
              CVS  log  as  generated  by  cvs  log.  The  resulting information is stored in the
              variables whose names were specified via evar, cvar, and fvar.

              Already existing information in the referenced variables is preserved, allowing the
              caller to merge data from multiple logs into one database.

              varname evar (in)
                     Has to refer to a scalar variable. After the call this variable will contain
                     a list of all the entries found in the log  file.  An  entry  is  identified
                     through  the  combination of date and author, and can be split over multiple
                     physical entries, one per touched file.

                     It should be noted that the entries are listed in the  same  order  as  they
                     were found in the text. This is not necessarily sorted by date or author.

                     Each  item  in  the  list is a list containing two elements, the date of the
                     entry,  and  its  author,  in  this  order.  The  date   is   formatted   as

              varname cvar (in)
                     Has  to refer to an array variable. Keys are strings containing the date and
                     author of log entries, in this order, separated by a comma.

                     The values are lists of comments made for the entry.

              varname fvar (in)
                     Has to refer to an array variable. Keys are strings containing date,  author
                     of  a  log  entry, and a comment for that entry, in this order, separated by

                     The values are lists of the files the entry is touching.

       ::doctools::cvs::toChangeLog evar cvar fvar
              ] The three arguments for this command are the same as the last three arguments  of
              the  command  ::doctools::cvs::scanLog.  This  command  however  expects them to be
              filled with information about one or more  logs.  It  takes  this  information  and
              converts  it  into a text in the format of a ChangeLog as accepted and generated by
              emacs. The constructed text is returned as the result of the command.


       This document, and the package it describes,  will  undoubtedly  contain  bugs  and  other
       problems.   Please  report  such  in  the  category  doctools  of  the  Tcllib SF Trackers
       [].   Please  also  report  any  ideas   for
       enhancements you may have for either package and/or documentation.



       changelog, cvs, cvs log, emacs, log


       Documentation tools


       Copyright (c) 2003-2008 Andreas Kupries <>