1

有没有办法比较两个 clearcase 版本之间的代码行,或者不管版本控制器是什么,我想比较两个不同的版本,比如比较主分支和开发分支。我正在为 Java 寻找这个主题

4

5 回答 5

2

如果您需要比较+查看+编辑行,那么 VonC 对 WinMerge 的推荐非常好,如果您需要比较代码行数(计数),那么像ProjectCodeMeterCLOC这样的 sloc diff 工具会更好。

于 2011-10-06T11:54:07.847 回答
1

虽然您可以使用任何 diff/merge 工具(如Windows 上的WinMerge)来比较所有文件集,但我建议使用:

  • 两个具有正确配置的 ClearCase 视图以选择正确的版本
  • 两个动态视图,以便快速获取所有相关版本(快照视图太长而无法加载)
于 2010-12-01T20:59:10.163 回答
0

如果您只想计算行数并且您正在使用 svn 我建议您运行

svn blame -r N:M | wc -l

我无法检查此命令行现在是否正常工作,但想法是svn blame在 2 个有趣的修订版(N 和 M)之间使用,然后运行wc -l(行数)。

我相信每个源代码控制都有类似于svn blame.

于 2010-12-01T20:16:30.670 回答
0

有很多合并/差异工具。我使用meld,它具有很好的可视化和文件和目录比较处理

于 2010-12-01T20:07:19.123 回答
0

您可以按照 VonC 的建议使用两种不同的视图。或者,file@@version如果您确切知道要查找的内容,则可以使用语法直接访问这两个版本。如果您要自动化某些东西(在 java 中实现某些东西对我来说是这样),那么两个视图可能是最好的选择。

当您说“比较两个 clearcase 版本之间的代码行”时,我假设您正在寻找标准以外的东西cleartool diff(顺便说一句,KDiff3是一个出色的 diff 实用程序,它具有 clearcase 集成,我强烈推荐它),并假设它更多您正在查看的“行数计数”方向。

然而,仅仅计算行的差异只会提供有限的信息,通常也很有趣的是知道构成差异的行是主要添加还是删除。要提供此类信息,您可以使用diffstat(请参阅此答案以获取示例输出)。

在我的上一份工作中,我编写了一个用于运行的 java gui

diff -u file@@/main/branch1/LABEL1 file@@/main/branch2/LABEL2 | diffstat

给定两个标签,遍历多个文件,但我依赖 cygwin 的 bash、diff 和 diffstat,我不知道这里有任何纯 java 替代品。

于 2010-12-04T18:58:57.023 回答