2013-01-10 56 views
1

我想知道大型项目(如Mozilla-Firefox)版本之间的变化,即类似问题,但必须在Linux上运行,并且是开源的。我知道这是基于Windows的Source Code Diff/Line and File ComparisonSource-tree diff摘要信息

我公司目前拥有的,我已经提取到两个文件夹mozilla-release-5.0/mozilla-release-6.0/

我想看到类似的摘要信息两个源的差异火狐5.0和6.0的实际发布的版本两个大的tar包树,即

•#LINES的添加/删除/修改的 •#文件添加/移除/改性

理想地,这些数字是为源代码和空行等行将被忽略。

请注意,因为这是用于统计分析,我不关心实际的线条本身,我只对总结数字感兴趣。

回答

1

要获得例如git diff --stat为提交产生的​​直方图,可以使用“diffstat” - 虽然它似乎无法区分空行更改。

+0

对不起,我应该澄清,我有一些发行tar包的,我已经提取而不是SCM。将它全部加载到'git'中并执行此操作最简单吗?我从未使用过'git'。 – Sean

+1

不,如果你有两个压缩包,你将压缩包解压缩到一个目录(例如dirv1和dirv2),执行'diff -r dirv1 dirv2 | diffstat',它会告诉你一个很好的直方图每一行中有多少行已经改变文件。 –

+0

优秀!谢谢Mats – Sean

0

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

DIFF目录:

pkgdiff -d DIR-0/ DIR-1/ 

DIFF包:

pkgdiff PKG-0.tgz PKG-1.tgz 

enter image description here

enter image description here