2009-07-10 42 views
2

我想生成一個樹中的文件的摘要,這些樹也在另一個樹中,這些文件已在第二個中修改過。我可以使用`diff -r`來告訴我在另一棵樹中發生了變化的文件嗎?

用例如下:我有一個產品分發包含Web內容文件。這些文件然後被導入到一個客戶特定的項目中,並且可以從那裏修改。我現在想要查看特定於客戶端的項目中自導入prduct以來發生更改的所有文件,以便我可以更新產品並保留特定於客戶端的更改。

我想這樣的事情可能會奏效

diff -r productDistribution/WebContent clientProject/WebContent 

然而,也有一些是在客戶端的具體項目是不是在產品分銷的文件,說我不關心的這個流程。從本質上講,我想要一個'外連接',用SQL的說法。

理想情況下,我希望能夠創建一個包含所有客戶端特定更改的修補程序。然後,我可以覆蓋新的產品文件,並應用此修補程序,並且我應該全部設置。

任何想法?

回答

2

默認情況下只差異打印該是唯一的一棵樹上的每個文件單行線,所以很容易將這些過濾掉:

diff -r productDistribution/WebContent clientProject/WebContent | \ 
    grep -v 'Only in clientProject' 
+0

我雖然這一點。我希望有一種方法可以在沒有這種後處理的情況下完成,但如果沒有,那麼這就回答了我的問題。 – pkaeding 2009-07-10 17:29:04

相關問題