2013-02-22 105 views
0

雖然合併從主幹修訂的一個分支,我希望實現以下目標:SVN合併新線從主幹分支衝突

版本1(這也是分支版本):

First Line 

修訂2:

First Line 
Second Line 

修訂3:

First Line 
Second Line 
Third Line 

通過對分支執行以下命令:

svn merge -c 3 [trunkurl] 

我期待得到以下結果

First Line 
Third Line 

但相反我得到一個樹衝突。 這種技術似乎可以在文件中間添加新行,而不是文件末尾。

回答

0

你有不好,錯期望,但是Subversion(無樹衝突,只有文件衝突 /樹衝突是不可能在這裏/)提出正確的錯誤

當Subversion合併,它試圖/對在某種程度上,真正的合併算法更復雜/ 從源碼樹中應用差異(統一,缺省上下文= 3,AFAIR),以便將受影響的修訂版本映射到目標版本。如果你願意嘗試,看看你的頭的差異,你會看到

Index: file.txt 
=================================================================== 
--- file.txt (revision 4) 
+++ file.txt (revision 5) 
@@ -1,2 +1,3 @@ 
First Line 
Second Line 
+Third Line 

,但這種情況下不存在分支,從而 - 即使是普通patch默認設置將拒絕這一差異

相關問題