合并永久分支时是否需要重新整合?

时间:2012-07-29 23:46:48

标签: svn

这是我的布局

/trunk
/branches/qa
/branches/dev

我不打算将来删除任何这些分支

从DEV合并到QA时是否需要使用--reintegrate? 或者从QA到/ trunk

由于

2 个答案:

答案 0 :(得分:1)

如果合并方向总是相同的(即你没有从qa合并到dev,只有dev-> qa),简单的合并就足够了。

需要单独的模式(重新集成)以避免不必要的合并。在“功能分支”场景中,功能分支将包含两种类型的更改:

  1. 常规提交
  2. 从主干
  3. 合并

    当我们想要将功能放入主干时,我们只想合并(1)。但是如果我们使用默认合并机制,SVN也会尝试将(2)合并到trunk中,这会导致冲突或隐藏错误,因为这些更改已经存在。

答案 1 :(得分:1)

在两个分支(包括trunk)之间使用重新整合合并,并打算保持源分支,通常是一个坏主意。使用分支是一个奇怪的问题,在以后的合并中,分支是以前重新集成合并中的源。

一般解决方案是重新集成 - 将源分支合并到trunk应该是目标分支),然后从{{1}删除并重新创建源分支合并后。

然而,你想做一些稍微不同的事情。

您应该在trunkdev之间进行重新融合吗?我的建议是避免重新整合合并,改为使用顺序或差异合并,并在合并时遵循创建路径(见下文)。

通常情况下,如果您希望将更改从qa合并到dev,则可以将qa合并到dev(和提交),然后trunk合并到{ {1}}(和提交)。换句话说,您遵循创建路径。在审核提交和合并时,这会给出合并历史记录的漂亮,干净的视图。

如果无法做到这一点,那么您需要特别小心地进行分支到分支的合并,这些通常应仅限于顺序合并。然后,当需要将trunkqa合并到dev时,这样做会更容易。

希望这有帮助。