2011-03-07 30 views
2

Given diff(a,b) & diff(b,c)
有沒有辦法找到diff(a,c)沒有a或b或c知識?是否可以修補2個順序差異以輸出第3個差異,以反映從前2個差異合併的所有變化?

注:我在GNU中使用diff實用程序。

這是否有任何現有的解決方案?

提前致謝!

+1

結束理論上這是兩個差異列表的疊加,但實際上它可能要複雜得多,因爲你需要** **解析的文件'diff(a,b)'和'diff(b,c)'。 – 2011-03-07 10:59:25

+0

是的,我相信它在理論上是可行的。我有興趣找出任何現有解決方案。 – Nullpoet 2011-03-07 11:04:57

回答

3

我認爲patchutils包的combinediff實用程序完全是這樣。

+0

該死的。打敗了我。也看看interdiff – jetru 2011-03-07 11:31:38

0

或者

git checkout [email protected]{0}   # leave the branch 
git reset HEAD~3    # unstage last 3 commits 
git diff > ~/mypatch 

也許開始與

git stash 
# do funny business 
git checkout $originalbranch 
git stash pop