【问题标题】:Source-tree diff summary information源树差异摘要信息
【发布时间】:2012-12-24 15:13:26
【问题描述】:

我想了解大型项目(例如 Mozilla-Firefox)的版本之间发生了什么变化,即类似于问题,但必须在 Linux 上工作并且是开源的。我知道 Source Code Diff / Line and File Comparison 是基于 Windows 的。

我目前有两个实际发布的 Firefox 5.0 和 6.0 版本的大 tarball,我已将它们解压缩到两个文件夹 mozilla-release-5.0/mozilla-release-6.0/

我希望看到两个源树差异的类似摘要信息,即

• 添加/删除/修改的行数 • 添加/删除/修改的文件数

理想情况下,这些数字是源代码行,空白行等被忽略。

请注意,由于这是用于统计分析,因此我不关心实际行本身,我只对汇总数字感兴趣。

【问题讨论】:

    标签: linux diff file-diffs


    【解决方案1】:

    要获取例如git diff --stat 为提交生成的直方图,您可以使用“diffstat” - 尽管它似乎无法区分空行更改。

    【讨论】:

    • 抱歉,我应该澄清一下,我已经提取了许多发布 tarball,而不是 SCM。将其全部加载到git 并执行此操作是否最简单?我从未使用过git
    • 不,如果你有两个压缩包,你将压缩包解压到一个目录中(例如dirv1和dirv2),执行diff -r dirv1 dirv2|diffstat,它会以一个漂亮的直方图告诉你有多少行已经改变每个文件。
    【解决方案2】:

    还可以尝试pkgdiff 来可视化目录或包之间的差异。

    差异目录:

    pkgdiff -d DIR-0/ DIR-1/
    

    差异包:

    pkgdiff PKG-0.tgz PKG-1.tgz
    

    【讨论】:

      猜你喜欢
      • 2012-12-30
      • 2012-08-19
      • 2013-12-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 1970-01-01
      • 2022-11-29
      相关资源
      最近更新 更多