CVS:列出标签(或日期)之间更改的所有文件

发布于 2024-07-06 18:04:48 字数 133 浏览 7 评论 0原文

有没有办法列出CVS中两个标签之间发生变化的所有文件?

每次我们发布版本时,我们都会向该版本中的所有文件应用一个标签。 我想找到版本之间更改的所有文件。

如果我能找到两个日期之间更改的所有文件,它也会起作用。

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.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

国产ˉ祖宗 2024-07-13 18:04:48

我想这个命令会有所帮助:

cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 > diffs

其中 RELEASE_1_0RELEASE_1_1 是标签的名称。

找到有关 cvs diff 命令的更多信息

您可以在此处 创建一个脚本以使报告更适合您的需求应该相当简单,例如:更改的文件数、创建的文件数、删除的文件数等。据我所知,最常见的 cvs GUI 工具(wincvs 和 tortoise)不提供类似的功能这是开箱即用的。

希望它有帮助 ;)

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 ;)

惟欲睡 2024-07-13 18:04:48

我更喜欢使用 rdiff 和 -s 选项

cvs rdiff -s  -r RELEASE_1_0 -r RELEASE_1_1 module > diffs

rdiff 不需要沙箱; -s 为您提供更改的摘要。

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.

两仪 2024-07-13 18:04:48

要使用 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

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

红玫瑰 2024-07-13 18:04:48

要使用标准 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-69V-1-0-70 以及您要比较的修订版本。

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.

撞了怀 2024-07-13 18:04:48
cvs log -d ">=DATE" -N -S -R > cvs.log
cvs log -d ">=DATE" -N -S -R > cvs.log
半边脸i 2024-07-13 18:04:48

DLira 的方法给出了很多细节,包括所有的变化。

要获取文件列表,可以这样做:

cvs diff -N -c -r RELEASE_1_0 -r RELEASE_1_1 | grep "Index:" > diffs

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
彼岸花ソ最美的依靠 2024-07-13 18:04:48

我找到的最好的工具是一个名为 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

我还使用相同的工具使用日期进行了比较。

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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文