2013-08-07 51 views
0

考慮以下工作流量的變化:更新派生文件,以包括從原始文件

  1. 文件是相同的文件B
  2. 文件B被修改
  3. 文件A被修改

如何更新文件B(以編程方式)在文件A中包含與步驟2中對文件B所做更改不衝突的更改?


我已經看過diffpatch但我無法弄清楚如何使用它們。

作爲一個例子:設在第1步中的文件A和文件B是:

KEYWA 
1 3 5 

KEYWB 
3 3 3 

然後文件B在步驟2中被改變爲:

KEYWA 
1 3 5 

KEYWB 
3 5 3 

最後文件A被改變步驟3到:

KEYWA 
-- A comment 
1 3 5 

KEYWB 
3 3 3 

然後,我想更新文件B,以包括在文件A中的更改。因此,我想新的fi樂B到成爲:

KEYWA 
-- A comment 
1 3 5 

KEYWB 
3 5 3 
+0

我不確定你試圖背後的原因。不過,您似乎試圖將fileA的修訂版2和同一文件的rev1的差異應用於fileB的rev2。這是否簡化了問題? – devnull

+0

是的,我認爲這是一個好主意。然後,我可以爲文件A所做的更改生成補丁,然後將補丁應用於文件B? –

回答

0

以下似乎工作:

  • 後第1步:cp A A2
  • 在第3步:編輯文件,A2,並留下一個文件A不變
  • 步驟3之後運行:
    • diff -u A A2 > patA
    • patch B <patA