2011-01-28 67 views
2

我想重新集成一个功能分支回树干,但“测试合并”没有显示“真正的合并”实际上要做什么。 “测试合并”看起来不错,“真正的合并”把我的工作副本搞砸了。SVN合并与测试合并 - 结果是不一样的

功能分支是在rev 481从trunk中进行的。主干现在是在rev 525.我已经成功同步了功能分支与从481-524的所有树干更改,因此两棵树现在都在525.

我从trunk文件夹开始合并操作,选择“Merge two不同的树“在龟。

的“发件人:”框中为主干URL,修订版本设置为525

“发送到:”箱子是特性分支URL,修订版本设置为525

“工作拷贝”被设置为主干网址。

我点击“下一步”,然后“测试合并”,在测试中一切都很好,所以我做了真正的合并。

真正的合并完成所有的变化,测试合并一样,但随后又后,做多:

  1. 合并的差异betweeen的URL(这是正确的,每次测试合并后),它说它是“合并r481到r525”,这给出了一堆树冲突。

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

我的问题是:我该怎么办合并,没有它做第二两个步骤?而且,为什么测试合并不显示后面两步?测试的重点应该是预览实时合并期间实际发生的事情。

回答

0

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

1

我已经成功地同步所有主干的修改功能分支从481-524

在你应该使用“复兴分支”合并选项的情况。从merging在TortoiseSVN的手册中的部分:

复兴分支

这个方法覆盖了你 了一个新特性分支在Subversion手册中讨论 的情况。所有 中继线更改已移植到 功能分支,一周一周,现在 功能完成你想 合并它回到中继线。由于 您保留了与中继同步的功能分支 ,所以 最新版本的分支和中继 将完全相同,除了您的分支更改的 。

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

+0

我们在不支持mergeinfo命令的服务器上使用旧版本的Subversion,所以我们不能使用该方法。 – benr 2011-01-28 16:11:20