Linux 源树差异摘要信息

Linux 源树差异摘要信息,linux,diff,file-diffs,Linux,Diff,File Diffs,我想了解一下大型项目(如Mozilla Firefox)的不同版本之间发生了什么变化,即与问题类似,但必须在Linux上工作,并且是开源的。我知道哪些是基于Windows的 我目前有两个大tarball,分别是Firefox 5.0和6.0的实际发布版本,我已将它们提取到两个文件夹中mozilla-release-5.0/和mozilla-release-6.0/ 我希望看到两个源树的差异的类似摘要信息,即 •#增加/删除/修改的行数 •#添加/删除/修改的文件 理想情况下,这些数字用于源代码行

我想了解一下大型项目(如Mozilla Firefox)的不同版本之间发生了什么变化,即与问题类似,但必须在Linux上工作,并且是开源的。我知道哪些是基于Windows的

我目前有两个大tarball,分别是Firefox 5.0和6.0的实际发布版本,我已将它们提取到两个文件夹中
mozilla-release-5.0/
mozilla-release-6.0/

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

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

理想情况下,这些数字用于源代码行,忽略空行等


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

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

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

还要尝试可视化目录或包之间的差异

不同目录:

pkgdiff -d DIR-0/ DIR-1/
差异包:

pkgdiff PKG-0.tgz PKG-1.tgz

还要尝试可视化目录或包之间的差异

不同目录:

pkgdiff -d DIR-0/ DIR-1/
差异包:

pkgdiff PKG-0.tgz PKG-1.tgz


很抱歉,我应该澄清我提取了许多发布tarball,而不是SCM。将其全部加载到
git
并执行此操作是否最简单?我从未使用过
git
。不,如果您有两个tarball,则将tarball解压到每个目录中(例如dirv1和dirv2),执行
diff-r dirv1 dirv2 | diffstat
,它将在一个漂亮的直方图中告诉您每个文件中有多少行发生了更改。对不起,我应该澄清一下,我提取了一些发布tarball,而不是SCM。将其全部加载到
git
并执行此操作是否最简单?我从来没有使用过
git
。不,如果你有两个tarball,你将tarball解压到每个目录中(例如dirv1和dirv2),执行
diff-r dirv1 dirv2 | diffstat
,它会以一个漂亮的柱状图告诉你每个文件中有多少行发生了变化。