SVN合并从主干到分支冲突的新线路

时间:2013-02-22 17:11:34

标签: svn svn-merge

虽然将主干的修改合并到分支机构,但我希望实现以下目标:

修订版1(这也是分支版本):

First Line

修订版2:

First Line
Second Line

修订版3:

First Line
Second Line
Third Line

在分支上执行以下命令:

svn merge -c 3 [trunkurl]

我希望得到以下结果

First Line
Third Line

但相反,我发生了树木冲突。 这种技术似乎适用于在文件中间添加新行,而不是文件的末尾。

1 个答案:

答案 0 :(得分:0)

你有错误的期望,但Subversion(没有树冲突,只有文件冲突 /树冲突在这里是不可能的)/提出了正确的错误

当Subversion合并时,它尝试/在某种程度上,真正的合并算法更复杂/ 应用差异(统一,默认上下文= 3,AFAIR)来自源树的受影响对目标的修订。如果你试着看看HEAD的差异,你会看到

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

但是这个上下文在分支中不存在,因此 - 即使普通patch 默认设置也会拒绝此差异