|
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. |
|