cvs-exp.pl: A global-picture chronological "cvs log" postprocessor
author: Sitaram Iyer <sitaram@gmail.com> 11jan00, one afternoon's work
Copyright (C) 2000 Rice University
cvs-exp.pl, a wrapper around (and a spoof of) the "cvs log" command, is a
way of chronologically tracking events in a cvs repository, when you're
lost among lots of branches and tags and little idea of what's going on.
"cvs log" is reasonably good for tracking changes to a single file, but
for an entire project with lots of branches and tags, it provides _no_
idea of what's happening on the whole. This cvs-exp.pl works on the output
of cvs log and arranges events chronologically, merging entries as needed.
by keeping track of lists of files and revisions, it figures when in the
sequence of events were various tags and branches created. It prints out a
cute-looking tree at the end to summarize activity in the repository.
Examples:
Usage:
cvs-exp.pl [opts] [arguments to cvs log] [dir]
or cvs log | cvs-exp.pl [opts]
cvs-exp.pl creates a chronological view of the commits, tags, and branching
events within a CVS module or set of CVS modules. cvs-exp.pl uses the 'cvs log'
(or 'cvs rlog') command to gather raw materials for formatted output.
Options:
-nolog don't do the log; only show the tag tree at the end
-notree vice versa - the default is to print both.
-nofiles don't list files in the log
The previous three options are overridden by the
following options:
-before return version information for all files as they were
before a given changeset. (Requires -changeset .)
-changeset nn return information on specific checkin nn
-search str search for all commits whose comments match the regular
expression 'str'
-info str search for all commits whose date or author match the
regular expression 'str'
-last return only the most recent commit matching a search
(only meaningful with the '-info' option)
-remote use 'cvs rlog' rather than 'cvs log'
-help when all else fails
Changelog:
- Bugfix contributed by Adam Bregenzer <adam@bregenzer.net> on Oct 24, 2002
to allow for spaces in filenames.
- david.fleck@ugs.com (July 2004):
added -before, -changeset, -search, -info, -last, and -remote functions.
- Bugfix from Peter Conrad <conrad@tivano.de> on Nov 30, 2004
to remove a superfluous line with a "," if a file has a long pathname
Contributions:
older versions of cvs-exp.pl