如何找到 2 个 CVS 分支之间的差异?

How to find differences between 2 CVS branches?

提问人:user2125853 提问时间:5/18/2023 更新时间:5/18/2023 访问量:77

问:

CVS 中是否有可以列出 2 个分支之间差异的命令。我所说的差异是指一个不同或存在于一个分支而不是另一个分支中的文件列表。如果是这样,您能提供一个例子吗?

简历

评论

2赞 Marcin Orlowski 5/18/2023
那个CVS?真?最新版本 .它死了。May 8, 2008; 15 years ago
1赞 Marcus Müller 5/18/2023
@MarcinOrlowski我正在为同样的目的写一个答案,但如果 OP 有一个他们至少需要理解的遗留回购,这对任何人都没有帮助。
1赞 Marcin Orlowski 5/18/2023
这是真的。但这并不能改变现实。CVS 已经死了,也许 OP 错过了?谁知道呢。至于脚本/工具,无论如何,我宁愿寻找一种方法来迁移存储库
0赞 user2125853 5/18/2023
@MarcinOrlowski - 我们确实有一个遗留的回购和仙女般的大回购。作为一名开发人员,我无法选择迁移如此大的存储库,只是为了比较 2 个分支。

答:

3赞 Marcus Müller 5/18/2023 #1

老实说,CVS 项目已经有 15 年没有更新了。因此,花时间学习使用它可能是一个坏主意。

我会忘记直接与 CVS 争吵;相反,我会将 CVS 存储库导入 git, git cvsimport -d CVSROOT

一旦你有了那个 git 存储库,

git diff branch1 branch2

会很漂亮。

所以,总而言之,

git cvsimport -C baz-module -d :pserver:[email protected]:/cvs/reallyoldsoftware foo/bar/baz-module
cd baz-module
git diff branch1 branch2

评论

0赞 user2125853 5/18/2023
我根本不想学习 CVS。不幸的是,我所在的项目直到使用 CVS。因此,有时需要完成这样的任务。
0赞 Marcus Müller 5/18/2023
是的,如前所述,通过导入 git 来执行它们。CVS 不是很先进,我认为您的另一个选择实际上是将两个分支签出到不同的本地目录中,并比较目录内容。你知道我会怎么做吗?右。我会将其中一个作为 git 存储库,提交其状态,签出一个新的 git 分支,删除所有文件并复制到另一个签出上,提交它,然后在两个 git 分支上做一个......git diff
0赞 Marcus Müller 5/18/2023
但要好得多。您可以比较文件内容,但也可以确定谁在同一环境中的哪个时间点更改了哪些内容。git cvsimport
0赞 user2125853 5/18/2023
我最终导出了一个项目的两个分支,并使用了 BeyondCompare。但是,我今后会牢记你所说的话。谢谢。
2赞 user2125853 5/18/2023 #2

需要快速做一些事情,并且对 CVS 和 GIT 的了解非常有限,并且必须处理包含数百个项目的 repo,做了如下操作:

export CVSROOT=:pserver:[email protected]:/path/to/cvsrep
cvs login
cvs export -r HEAD project-name
cvs export -r Branch project-name

导出两个分支后,使用 BeyondCompare 比较 2 个文件夹。这似乎是给了我我需要的东西。

评论

0赞 Marcus Müller 5/18/2023
git cvsimport -C project-name -d :pserver:user@cvsserver.com:/path/to/cvsrep; git diff HEAD Branch:(不起作用?
0赞 user2125853 5/18/2023
当我这样做时,我收到“AuthReply:E PAM 身份验证错误:权限被拒绝”错误。需要一些额外的设置吗?
0赞 Marcus Müller 5/18/2023
啊,在这种情况下,你需要运行 和 之前export…cvs logingit cvsimport…
0赞 user2125853 5/18/2023
在运行命令之前,我确实运行了 [export] 和 [cvs login]。但仍然收到身份验证错误
0赞 Marcus Müller 5/18/2023
哼!好吧,我从来没有让 PAM 参与进来,所以我必须承认我有点不知所措,也必须承认你的方法更好——它有效。