Subversion > 不使用--reintegrate将分支合并回主干?

4
这是一个愚蠢的问题,但在工作中已经出现了足够多的次数,我觉得问一下以获取第二个意见。你可以假设我们正在使用 Subversion 1.6+。
以下是一个场景:假设我有一个主干,我在修订版10处创建了一个分支 Branch1 并开始对 Branch1 进行自己的更改。
同时,从主干修订版30处创建了另一个分支 Branch2。在 Branch2 中进行了几个修订(提交)。
在某个时刻,Branch2 工作完成并将其更改合并回主干,而不使用 --reintegrate。
我仍然在 Branch1 中开心地工作着,但是现在我想确保我拥有来自主干和合并回主干的其他分支(如 Branch2)中所做的任何代码更改的所有最新更改。
问题的关键是:如果将主干合并到 Branch1,我会看到从其他分支合并回主干(如 Branch2)的所有更改吗?我是否应该单独合并 Branch2 URL 中的修订,然后根据需要合并 Trunk URL 以确保我拥有所有更改?
1个回答

8
如果我理解你的例子,即使没有使用--reintegrate,你也会得到合并到trunk中的更改。
不使用--reintegrate的问题在于,如果您通过定期从trunk合并到Project3来保持Project3最新状态,那么当您合并回trunk时,将会有很多冲突。这是因为它会尝试对这些定期合并进行操作,并将其重新应用于trunk,而这些合并本来就已经存在于trunk中。
但无论您如何合并,只要它现在在trunk中就可以了。
顺便说一句,你的例子有点令人困惑。首先,你说像“将Project2与trunk的HEAD 合并”。合并是有方向的;你应该说你“将trunk合并到Project2”中。此外,通常“项目”一词指的是具有主干和分支的东西,但在你的例子中,似乎trunk在一个不同的项目中,而分支在另一个项目中。

谢谢你的回答!如果我把Project2和Project3称为“发布分支”,会更清晰吗? - DTS
1
我认为如果你说“主干”、“分支1”和“分支2”,会更清晰明了,假设它们都是同一个项目的不同分支。 - JW.
你的第二段对 --reintegrate 的解释是我迄今为止找到的最清晰易懂的。现在我非常清楚何时以及为什么要使用它了。+1 - Philippe A.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接