虽然将主干的修改合并到分支机构,但我希望实现以下目标:
修订版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 :(得分: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
默认设置也会拒绝此差异