不使用TortoiseSVN重新集成分支需要先同步分支和主干吗?

时间:2011-02-14 13:34:31

标签: svn tortoisesvn tortoisemerge

我以为我了解如何使用TortoiseSVN合并选项。我认为如果你从创建分支后没有从trunk更新,你可以使用merge修改一系列修改,但如果你在某个时候更新了trunk的分支,那么你必须同步分支和trunk然后使用重新集成分支(或合并两棵不同的树木)。

我还认为,如果你没有从trunk更新分支并且你试图使用reintegrate分支,那么你将失去对trunk的更改,因为分支已经创建 - 也就是说,如果你不想同步两个然后你必须使用合并一系列的修订。

然而,我的一位同事说,他在所有情况下都使用了一个分支,而不会丢失任何东西。所以我运行了一些测试,并且我必须同意,当您使用TortoiseSVN“从分支重新整合分支”到工作副本时,您在创建分支后似乎没有丢失对trunk的更改。即使您尚未首先将主干修订合并到您的分支中。这是正确的吗?那么手册中的建议有什么解释呢?

1 个答案:

答案 0 :(得分:0)

在TortoiseSVN documentation中,在关于“重新整合分支”合并选项的部分中,它说:

  

所有主干更改已经移植到功能分支,每周一次   一周,现在功能已完成,你想将它合并回来   树干。因为您保持功能分支与之同步   后备箱,分支机构和后备箱的最新版本绝对是   除了你的分支变化之外相同

我相信这是造成混乱的部分(它让我困惑了一段时间), 但后来它说:

  

它使用Subversion的合并跟踪功能来计算   要使用的正确修订范围,并执行其他检查   确保分支已完全更新主干更改。这个   确保您不会意外撤消其他人的工作   自上次同步更改后提交到主干。

根据文档中的第二个片段以及我自己的经验,我认为使用“重新整合分支”合并选项是安全的。我们使用这种方法重新集成我们的分支,我们的分支很少更新主干更改(只有在主干中的修复程序修复了分支中的阻塞问题)。

为了使用主干更改来更新我们的分支,我们总是使用“合并一系列修订”。