RCSPLOT is a Perl script that generates plots of RCS/CVS archive activity. The script takes a list of RCS/CVS archive files/directories and generates plots of the lines added/deleted per file in an archive. Plots are generated per RCS file, with summary plots per directory. Hierarchies of RCS/CVS directories are also supported. RCSPLOT also produces plots of author activity in each archive directory. So you can quickly see who's been active and where.
The script uses the rcs rlog command , so it takes standard rlog parameters. Like rlog, it can be used to generate data on changes between 2 software releases, data specific to 1 or more authors, or data over the whole life of an archive.
A single date ordered log of all check-in's over the specified period is also generated, along with a standard 'rlog' version log per archive file.
A number of html files are created to make the plots and data easy to navigate and view using a web browser (frames support required).
RCSPLOT works on the archive itself, not individual sandboxes.
Here is a screenshot of the sort of output produced by RCSPLOT.
Here's the output produced from running RCSPLOT on a simple test archive. It demonstrates the browser interface produced by RCSPLOT in more detail. Command line parameters can be used to control the output produced.
Beware! The plots produced by RCSPLOT needs to be read by someone who knows the project well and can interpret the data produced rather than just taking it at face value.
RCSPLOT allows you to quickly visualise archive activity and see the areas where a lot of deletion and potential rewrite activity is occuring in an archive. These areas might benefit from better definition on future projects. The more red (lines deleted) I see in an archive plot, the more I start to worry about what's happening in that archive.
RCSPLOT may help in estimating resources on future projects. It allows you to quickly see the peaks and troughs in archive activity.
It also allows you to see who's been most active in an archive over the life of a project. Note, these people may or may not be the most productive!
I haven't tried it out on archives that contain binary files, but I doubt that the plots would be particularily useful, apart from highlighting that archive activity has taken place.
I wanted an excuse to learn Perl and I thought this would be a useful project to help me do it. I am no Perl expert so apologies to those of you who are. I'm sure this code can be written better. After doing other bits of Perl since writing RCSPLOT I could rewrite it better myself now! But it does the job I require of it - so why rewrite it? If you find any errors, or can improve on it (and I'm sure you can) - please e-mail me the alterations to the address below.
The current version of RCSPLOT is 0.74. You can find released versions of this script at Sourceforge. RCSPLOT was developed under Linux using,
rlog (from rcs 5.7)
co (from rcs 5.7)
wc (GNU textutils 2.0)
It may work with older, or newer versions of the same packages, and with other O/S's.
Please e-mail me if you find this script useful, if you have a bug fix, or if you have an enhancement that you think might be useful to other users.
|Copyright © 1998-2001 Ian Gilmour|