这是一个愚蠢的问题,但它在工作中得到了足够的好处,我想要求获得第二意见。您可以假设我们使用的是Subversion 1.6 +。
这是一个场景 - 假设我有一个Trunk。我在版本10中分支Trunk以创建Branch1并开始对Branch1进行自己的更改。
同时,Branch2是在修订版30的Trunk中创建的。在Branch2中有几个修改(已提交)。
在某些时候,在Branch2中完成工作,并且使用--reintegrate将其更改合并回主干。
我仍然很高兴在Branch1中工作,但我现在想确保我拥有Trunk中的所有最新更改以及在其他分支中进行的任何代码更改,这些更改将合并回到主干(即Branch2)。
问题的关键 - 如果我将Trunk合并到Branch1中,我是否会看到所有更改从其他分支(如Branch2)合并回主干?我是否必须单独合并Branch2 URL中的修订,然后合并到中继URL以保证我有所有更改?
答案 0 :(得分:8)
如果我了解您的示例,那么将获取合并到主干中的更改,即使它们是在未使用--reintegrate
的情况下合并的。
不使用--reintegrate
的问题在于,如果您通过定期从主干合并到Project3来保持Project3最新,那么当您合并回主干时,最终会遇到很多冲突。这是因为它会尝试进行这些定期合并,并在它们已经处于主干中时重新应用于主干。
但是你的合并方式并不重要,只要它现在在主干中。
顺便说一句,你的例子有点令人困惑。首先,你会说“将Project2 与合并后备箱的HEAD”。合并有一个方向;你应该说你“将主干合并到 Project2”。此外,通常术语“项目”指的是具有主干和分支的东西,但在您的示例中,主干看起来像是与分支不同的项目。