B.3. Logging Tools
CVS log messages often contain useful information for project managers, programmers, and other CVS users. There are many tools that manipulate log messages, including tools to create a change log automatically, mail log messages, and change the format of log messages. These tools are most useful if you and your development team enter meaningful log messages.
CHalogen is a change-log generator that relies on the CVS project files being tagged at each significant stage of the project. It generates a change log that displays the changes between tag points. The generated change log is in HTML format.
CHalogen can run as a CGI script or from the command line. It is available from http://www.softwarebee.de/products/chalogen/.
clmerge is a script that merges conflicts in a GNU-style change log. The change log is sent to the standard output, so the script output should usually be redirected to a file. This script is useful as a postprocessor to change log generation programs. clmerge is available from the contrib directory in the CVS source code.
B.3.3. commit_prep and log_accum
These scripts are designed to work together. commit_prep ensures that the Id keyword is present in the file and checks the version number of the keyword. It prevents older revisions from being copied into the sandbox and replacing an existing revision. It also records information for log_accum.
log_accum consolidates the log messages from a single commit of multiple directories and mails the resulting consolidated log messagesincluding a consolidated list of which files were added, removed, and modifiedto a specified address.
These scripts should be called from the scripting files in the CVSROOT directory. commit_prep and log_accum are available from the contrib directory in the CVS source code.
cvs2cl.pl runs cvs log and converts the output to a GNU-style change log. Duplicate messages on the same date are merged. cvs2cl.pl runs from the command line and can be included in automated scripts. There are many configuration arguments, producing a variety of output formats. cvs2cl.pl is available from http://www.red-bean.com/cvs2cl/.
cvs-exp is a cvs log postprocessor that creates a chronological logfile across a project. It also displays a tree structure of the branches and tags in a format more easily readable than the one cvs log. cvs-exp is available from http://www.cs.rice.edu/~ssiyer/code/cvs-exp/.
This script mails the log information provided with a CVS commit to a specified address. It includes status information for each changed file, as well as the log message and information on which files were changed. The log script should be called from the loginfo file in the CVSROOT directory. log is available from the contrib directory in the CVS source code.
mfpipe either mails log information to a specified address or pipes the mail information into a file. This script should be called from the loginfo file in the CVSROOT directory. mfpipe is available from the contrib directory in the CVS source code.
rcs2log is a script that creates a GNU change log from the RCS project files in the CVS repository. It has a variety of formatting arguments and recurses through the local directories. It was originally written for RCS. rcs2log is available from the contrib directory in the CVS source code.