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