【问题标题】:count lines of code between two versions计算两个版本之间的代码行数
【发布时间】:2010-12-01 20:03:20
【问题描述】:

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

【问题讨论】:

  • 你在什么平台上?听起来您正在使用 VCS,哪个?你在使用 Eclipse 吗?那里有很多很多文件差异查看器,假设您使用 Eclipse 插件,您的 VCS 中可能有一个。
  • 您可以使用版本控制系统来比较分支。我不确定如何在其他工具中完成,但cvssvn 支持这一点。此外,diff 用于 Unix、Linux、Mac OS X,fc 用于 Windows 是用于比较文件和目录的实用程序。
  • 该问题被标记为 clearcase,这是一个商业 VCS。与svn相关的答案在这里没有任何用处。

标签: java versioning clearcase lines-of-code


【解决方案1】:

如果您需要比较+查看+编辑行,那么 VonC 对 WinMerge 的推荐非常好,但是如果您需要比较代码行数(计数),那么可以使用 sloc diff 工具,例如ProjectCodeMeterCLOC 会更好。

【讨论】:

  • 我用的是 CLOC,我觉得非常棒
  • 我正在寻找的一件事是一些其他项目的代码行数,以便我可以告诉我的经理“我们的项目与...的大小相比。”
  • Google 安全浏览目前将 projectcodemeter.com 标记为危险。 “前面的网站可能包含有害程序”。
【解决方案2】:

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

  • 两个具有正确配置的 ClearCase 视图以选择正确的版本
  • 两个动态视图,以便快速获取所有相关版本(快照视图太长而无法加载)

【讨论】:

    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      svn blame -r N:M | wc -l
      

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

      我相信每个源代码控制都有类似于svn blame 的命令。

      【讨论】:

        【解决方案5】:

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

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

        然而,仅仅计算行数的差异只会提供有限的信息,通常也很有趣的是,知道构成差异的行是否大部分被添加或删除。要提供此类信息,您可以使用diffstat(例如输出见this answer)。

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

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2021-06-17
          • 1970-01-01
          • 1970-01-01
          • 2022-01-02
          • 1970-01-01
          • 2016-04-23
          • 1970-01-01
          相关资源
          最近更新 更多