有没有办法在CVS中列出在两个标签之间发生更改的所有文件?
每次我们发布时,都会对该发布版本中的所有文件应用标签。我想找到在发布之间发生更改的所有文件。
如果我能找到在两个日期之间发生更改的所有文件,那也可以。
有没有办法在CVS中列出在两个标签之间发生更改的所有文件?
每次我们发布时,都会对该发布版本中的所有文件应用标签。我想找到在发布之间发生更改的所有文件。
如果我能找到在两个日期之间发生更改的所有文件,那也可以。
我认为这条命令会有所帮助:
cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs
其中,RELEASE_1_0
和RELEASE_1_1
是您的标签名称。
您可以在此处找到更多有关cvs diff命令的信息。
此外,创建一个脚本来生成符合您需求的报告应该相当简单,例如:更改的文件数量、已创建的文件数量、已删除的文件数量等。据我所知,最常见的cvs GUI工具(wincvs和tortoise)不会默认提供这样的功能。
希望能对您有所帮助 ;)
我更喜欢使用rdiff
和-s
选项
cvs rdiff -s -r RELEASE_1_0 -r RELEASE_1_1 module > diffs
rdiff
不需要沙盒环境; -s
会给出更改摘要。
使用 CVS 获取在两个日期之间的文件列表:
cvs diff -N -c -D YYYY-MM-DD -D YYYY-MM-DD | grep "Index:" > diff.out
关于 -D 标志接受的日期更多信息:http://docs.freebsd.org/info/cvs/cvs.info.Common_options.html
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
将您要比较的修订版本替换为V-1-0-69
和V-1-0-70
。
cvs log -d ">=DATE" -N -S -R > cvs.log
cvs -q log -NSRd ">=2013-10-20"
。如果您还想要提交摘要,请删除 R
。 - Asclepiuscvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 | grep "Index:" > diffs
cvs2cl.pl --delta dev_release_1_2_3:dev_release_1_6_8
或者
cvs2cl.pl --delta dev_release_1_2_3:HEAD
我也使用同一工具进行了日期比较。
-N
gives error on a Windows machine:cvs [server aborted]: Cannot use reserved filename 'nul' on NT based machines
- Alessandro Jacopson