2013-01-10 83 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