Reputation: 5871
Is there any way to list all the files that have changed between two tags in CVS?
Every time we do a release we apply a tag to all the files in that release. I want to find all the files that changed between releases.
It would also work if I could find all files that had changed between two dates.
Upvotes: 57
Views: 85294
Reputation: 5871
DLira's method gives a lot of detail, including all the changes.
To just get a list of files, this works:
cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 | grep "Index:" > diffs
Upvotes: 4
Reputation: 391
To get a list of files that have changed between one version and another using the standard cvs commands:
cvs -q log -NSR -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt
Or alternatively, to get a list of commit comments just drop the -R
:
cvs -q log -NS -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt
Where you replace V-1-0-69
and V-1-0-70
with the revisions you're comparing.
Upvotes: 11
Reputation: 1821
I suppose this command would help:
cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs
where RELEASE_1_0
and RELEASE_1_1
are the names of your tags.
You can find a little more information on cvs diff command here
plus it should be fairly simple to create a script to make report more suitbable for your needs, ex: number of files changed, created deleted etc. As far as I know the most common cvs GUI tools (wincvs and tortoise) do not provide something like this out of the box.
Hope it helps ;)
Upvotes: 35
Reputation: 605
I prefer using rdiff
and -s
option
cvs rdiff -s -r RELEASE_1_0 -r RELEASE_1_1 module > diffs
rdiff
does not require a sandbox; -s
gives you a summary of the changes.
Upvotes: 24
Reputation: 701
To get the list of files between two dates using CVS:
cvs diff -N -c -D YYYY-MM-DD -D YYYY-MM-DD | grep "Index:" > diff.out
More information on accepted dates for the -D flag: http://docs.freebsd.org/info/cvs/cvs.info.Common_options.html
Upvotes: 17
Reputation: 24936
The best tool I've found for this is a perl script called cvs2cl.pl. This can generate a change list in several different formats. It has many different options, but I've used the tag-to-tag options like this:
cvs2cl.pl --delta dev_release_1_2_3:dev_release_1_6_8
or
cvs2cl.pl --delta dev_release_1_2_3:HEAD
I have also done comparisons using dates with the same tool.
Upvotes: 1