有什么方法可以列出CVS中两个标签之间已更改的所有文件?CVS:列出标签(或日期)之间更改的所有文件
每次我们发布一个版本时,我们都会在该版本的所有文件上应用一个标签。我想查找所有发布版本之间更改的文件。
如果我能找到在两个日期之间改变的所有文件,它也可以工作。
有什么方法可以列出CVS中两个标签之间已更改的所有文件?CVS:列出标签(或日期)之间更改的所有文件
每次我们发布一个版本时,我们都会在该版本的所有文件上应用一个标签。我想查找所有发布版本之间更改的文件。
如果我能找到在两个日期之间改变的所有文件,它也可以工作。
我想这个命令将帮助:
cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs
其中RELEASE_1_0
和RELEASE_1_1
是你的标签的名称。
你可以找到关于CVS diff命令here
多一点信息,再加上它应该是相当简单的创建一个脚本,使报告满足您的需求更suitbable,例如:文件的数量改变,删除创建等据我所知,最常用的cvs GUI工具(wincvs和tortoise)不提供这种开箱即用的东西。
希望它可以帮助;)
DLira的方法给出了很多细节,包括所有的变化。
只得到文件列表,这个工程:
cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 | grep "Index:" > diffs
抱歉,我忘记评论详细程度以及如何得到您想要的内容。但你是对的! grep是一种很好的方式来获得你所需要的。 ;) – 2008-09-26 16:28:29
的最佳工具,我发现这是一个名为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
我也做用相同的工具日期比较。
我更喜欢使用rdiff
和-s
选项
cvs rdiff -s -r RELEASE_1_0 -r RELEASE_1_1 module > diffs
rdiff
不需要沙箱; -s
为您提供了所做更改的摘要。
我在这里尝试了大多数其他的选择,并与其他人一起,我无法捕捉到所有的变化。谢谢! – Victor 2012-08-30 20:57:45
得到执行过一个版本和另一个改变使用标准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
如果您将V-1-0-69
和V-1-0-70
替换为您正在比较的修订版本。
要使用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 log -d ">=DATE" -N -S -R > cvs.log
有能产生一个perl脚本调用cvs2cl不错的格式化日志版本,无论是作为完成的报告,还是作为文本或XML后处理:http://www.red-bean.com/cvs2cl/ – 2008-09-26 14:35:46
刚刚通过谷歌发现这一点,它为我节省了大量工作,非常感谢! 我试图通过'历史'命令找出,忘记差异。 – 2008-11-12 20:35:45
`-N`在Windows机器上给出错误:`cvs [server aborted]:无法在基于NT的机器上使用保留文件名'nul' – 2017-01-10 09:33:44