CVS:列出在标签(或date)之间更改的所有文件
有什么办法可以列出CVS中两个标签之间的所有文件?
每次我们发布一个版本,我们都会在该版本的所有文件上应用一个标签。 我想find所有发布之间更改的文件。
如果我能find所有在两个date之间改变的文件,它也可以工作。
我想这个命令会帮助:
cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs   RELEASE_1_0和RELEASE_1_1是你的标签的名字。 
你可以在这里find更多有关cvs diff命令的信息
加上它应该是相当简单的创build一个脚本,使报告更适合您的需求,例如:文件数量的变化,创build删除等。据我所知,最常见的CVS GUI工具(wincvs和乌龟)不提供的东西像这样开箱即可
 希望它有帮助;) 
 我更喜欢使用rdiff和-s选项 
 cvs rdiff -s -r RELEASE_1_0 -r RELEASE_1_1 module > diffs 
  rdiff不需要沙箱;  -s给你一个变化的总结。 
使用CVS获取两个date之间的文件列表:
 cvs diff -N -c -D YYYY-MM-DD -D YYYY-MM-DD | grep "Index:" > diff.out 
有关-D标志的接受date的更多信息: http : //docs.freebsd.org/info/cvs/cvs.info.Common_options.html
要使用标准的cvs命令获得在一个版本和另一个版本之间更改的文件列表:
 cvs -q log -NSR -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt 
 或者,要获得提交注释的列表,只需删除-R : 
 cvs -q log -NS -rV-1-0-69::V-1-0-70 2>/dev/null >log.txt 
 在哪里用你正在比较的版本replaceV-1-0-69和V-1-0-70 。 
 cvs log -d ">=DATE" -N -S -R > cvs.log 
DLira的方法提供了很多细节,包括所有的变化。
要获取文件列表,这个工作:
 cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 | grep "Index:" > diffs 
我find的最好的工具是一个名为cvs2cl.pl的perl脚本。 这可以生成几种不同格式的更改列表。 它有很多不同的选项,但我已经使用了这样的标签到标签选项:
 cvs2cl.pl --delta dev_release_1_2_3:dev_release_1_6_8 
要么
 cvs2cl.pl --delta dev_release_1_2_3:HEAD 
我也使用相同的工具进行date比较。