cvsxxdiff is a collection of utilities which allow the user to graphically review changes, track status and manage commits of files managed by a CVS repository.
Latest stable version is cvsxxdiff-1.5.1, released 6th May 2008
IntroductionIn any software project, code changes need to be frequently reviewed and coordinated. cvsxxdiff utilities offer the means for easily reviewing changes and coordinating development in a CVS managed project.
The cvsxxdiff package consists of these utilities: cvsxxdiff, cvsnup and cvscommit
cvsxxdiff is designed to display differences between files in the local working directory and the cvs repository or between two revisions on the repository. Convenient options to review revisions of a file as it was n versions ago and the cvs log accompanying that revision, are provided. Moreover, when invoked in conflict resolve mode, it works as a graphical tool to resolve conflicts.
cvsnup inquires the status of the local files with those in a cvs repository. It finds any not updated, modified or missing files and reports them in various convenient ways. Also, it creates changelogs for any changes that have not yet been merged.
cvscommit prepares a template based commit log. The revisions of the files commited are appended to the log in order to assist in the generation of changesets at a later time.
All included functionality is accessed though convenient options, allowing an easy overview of changesets and the project's evolution.
cvsxxdiff utilities work out of the box. They have been tested on Unix and Linux systems, and on Windows under CYGWIN.
History / Previous releasesAs of December 2007, cvsxxdiff transformed from a single utility to a package of utilities. The second utility of the cvsxxdiff package is cvsnup. The third utility, cvscommit, was introduced in January 2008.
In April 2006, the latest version of cvsxxdiff available at that time was integrated by Martin Blais in the Helper Scripts for xxdiff. The script's name was then changed to xx-cvs-revcmp.
Featurescvsxxdiff:displays all changes between the local working directory and the remote source repository displays changes among selected file revisions select files for compare: by file's revision relative to current working version (eg. 1 version ago with current or 3 versions ago with 1 version ago) by specifying a date displays commit logs accompanying the files' revisions being reviewed assists in removal of conflicts reports on the status of the local repository produces colorful and easy to read output is one file and gets the job done. Minimal dependencies to other packages cvsnup:displays the status of all files not in sync with the trunk provides options to show only unupdated files of a specific status generates a changelog for the unupdated files. Can be used as summary of changes that will be merged by a `cvs update' command. is one file and gets the job done. Minimal dependencies to other packages cvscommit:prepares a commit based on a template message appends revision information to the commit log. This allows us to later retrieve the changes introduced by the commit offers short statistics about the commit Usage scenariosThis is how the first public release of cvsxxdiff was described in April 2006:
What, here in our company, find useful about cvsxxdiff is:
o) cvsxxdiff is one file. No python module directory or initialization is
o) Do a 'cvs up; cvsxxdiff' before commit to see all the local changes we have
o) Do 'cvs up; cvsxxdiff -b 1 file.c' to see the last chages that were made on
a file by a colleague.
o) We often need to track bugs in our code. This means going back to previous
revisions, thus doing ex: 'cvsxxdiff -b 1 -b 2 file.c' to compare the previous
with the 2nd previous revision. (similar with cvsxxdiff -r 1.1 -r 1.2 file.c)
o) The utility prints in the standard output the logs between revisions i and
j ( ex: cvsxxdif -b i -b j file.c)
One script to do it all.TODOMerge again with xxdiff Helper Scripts!
Dependenciescvsxxdiff uses the xxdiff package to graphically display changes among file revisions. It has been tested to work with xxdiff version 3 and newer.
cvsxxdiff utilities are written in the Python language. They have been tested with python version 2.3 and newer.