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 CGIscript or from the command line.
CHalogen 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.
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 messages — including a consolidated list of which files were added, removed, and modified — to 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/.
cvs2html converts the output from cvs log to a frame-based set of HTML pages. In addition to log information, the pages display color-coded diffs between revisions.
cvs2html is available from http://cvs.sslug.dk/cvs2html/.
cvs-exp is a cvs log postprocessor that creates a chronological log file across a project. It also displays a tree structure of the branches and tags in a more human-readable format than cvs log provides.
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.