SVN合并与测试合并 - 结果不一样

时间:2011-01-28 15:40:23

标签: svn merge tortoisesvn

我正在尝试将功能分支重新集成到主干中,但“测试合并”并没有显示“真正的合并”实际上要做什么。 “测试合并”看起来很棒,“真正的合并”搞砸了我的工作副本。

功能分支是从后备箱转速481。主干现在处于转速525.我已成功同步功能分支,所有主干更改为481-524,因此两棵树现在都在525。

我从trunk文件夹开始合并操作,在Tortoise中选择“合并两个不同的树”。

“发件人:”框是主干网址,修订版设置为525。

“收件人:”框是功能分支网址,修订版设置为525。

“工作副本”设置为主干网址。

我单击“下一步”然后“测试合并”,测试中的一切看起来都很棒,所以我做了真正的合并。

真正的合并会完成测试合并所做的所有更改,但之后它也会执行更多更改:

  1. 在合并网址之间的差异后(根据测试合并,这是正确的),然后它说是“合并r481到r525”,这会产生一堆树冲突。

    < / LI>
  2. 然后,它说“反向合并525到481”,它没有给出很多错误,但似乎撤消了我对文件所做的很多改动。

  3. 我的问题是:如果不执行后两步,我该如何进行合并?而且,为什么测试合并不显示后两个步骤?测试的重点应该是预览实时合并期间实际发生的情况。

2 个答案:

答案 0 :(得分:1)

  

我已成功同步功能分支以及481-524

的所有主干更改

在这种情况下,您应该使用“重新整合分支”合并选项。来自merging上的TortoiseSVN手册中的部分:

  

重新整合分支

     

此方法涵盖了您的情况   已经成为一个功能分支   在Subversion书中讨论过。所有   主干更改已移植到   功能分支,一周一周,现在   功能完成你想要的   将它合并回主干。因为   你保留了功能分支   与后备箱同步,   最新版本的分支和主干   将完全相同,除了   为你的分支变化。

此操作后,您不应再使用功能分支。

答案 1 :(得分:0)

我想我可能已经弄明白了。我检查了最终合并屏幕上的“忽略祖先”选项并且合并工作。根据我对这个选项的理解,我不清楚为什么修复它,但确实如此。