incava.org

cvsdelta helps control CVS-managed projects. It has two main purposes. The first is to summarize project changes, for example, to measure the number of lines that have changed and the files that have been added and removed. The second purpose is to manage the project, that is, to automatically add and remove files. This greatly facilitates working with CVS, which does not natively contain support for this feature.

cvsdelta filters project changes by using .cvsignore files, both system-wide and locally. Thus, for example, cvsdelta will not attempt to add backup files (i.e., ending in ~) to a project, or include them in summaries of changes.

This example shows the summary format of cvsdelta, against the cvsdelta project itself.

total    added    changed  deleted  file
=======  =======  =======  =======  ====================
    197       28      164        5  * cvsdelta
      0        0        0        0  - cvsdelta.1
     30       30        0        0  + cvsdelta.css
      9        0        9        0  * cvsdelta.pod
    208      208        0        0  + incava.css
    172      172        0        0  + index.php
-------  -------  -------  -------  --------------------
   1026      848      173        5  Total

The latest feature added to cvsdelta is to compare not only local and latest CVS versions of a project, but to compare based on any date or revision. Thus, one could compare their local version to the project as of a year ago, or could compare the project from 9 months ago to 3 months ago. For example, on the cvsdelta project, the command:

% cvsdelta --from-date "9 months ago" --to-date "3 months ago"

produces the following output:

total    added    changed  deleted  file
=======  =======  =======  =======  ====================
    ???      ???        0        0  + ChangeLog
      3        0        3        0  * Makefile
    ???      ???        0        0  + TODO
    577      108      439       30  * cvsdelta
    116       92       24        0  * cvsdelta.html
    122       98       24        0  * cvsdelta.pod
      5        0        5        0  * cvsdelta.spec
     94        0       94        0  * index.php
-------  -------  -------  -------  --------------------
    980      361      589       30  Total

cvsdelta is written in Ruby, and thus can run on a variety of operating systems, including Windows and Unix variants.

Valid HTML 4.01!

Valid CSS!