SVN - 无法合并分支回主干 - 许多树冲突SVN - 无法合并分支回主干 - 许多树冲突(S

2019-05-13 11:36发布

我有什么,我认为是一个简单的场景 - 使用TortoiseSVN:

1)I提出的申请的一个分支(B2)(以上实施图像精灵&JAWR)工作。

2)测试与开发继续正常的在树干。

3)我重新基于分支通过过去几天了几次:

3.1)合并干线(由修订版本的范围),以我的分支B2工作拷贝,解决合并过程中的冲突。

3.2)(测试分支b2)中后,我提交基于再分支-B2。

这所有的工作如我所料。 但合并分支回主干是有其用我的方法:

4)致力于在分支B2的所有更新后; 我要确保我做一个SVN更新在主干和分支-B2。

5)然后,我尝试从分支-B2合并(修订版本的范围)到主干。 然而,对于已经加入到躯干,然后添加到分支B2时,我就重订任何新的文件,我得到一个树冲突。 我不知道正确的方法是什么,解决这些冲突。

我见过的最典型的建议是,无论是从树干删除树冲突的文件,然后合并分支结束; 或者删除整个躯干,复制分支的文件过来,然后提交它们作为后备箱的新版本。 无论这些选项似乎是一个好idea-第一个是疼痛,都看起来像他们将失去文件修订历史记录。

什么了我错了,我该如何解决?

Answer 1:

听起来你正在使用预1.5合并风格,并试图分支重新融入树干。 在这种情况下,你想要做的是首先要确保所有主干更改已合并到分支,然后代替范围,合并分支指向主干的工作副本,要合并“从主干@HEAD分支@ HEAD”与工作副本指着树干。 在本质上:

“给我我需要做主干相同分支的所有更改”。

这工作,如果你已经合并了所有主干的修改到分支,因为那时干线和支线之间的唯一区别是在分支上的修改。

合理? :)



Answer 2:

我调查了同样的问题。 这是乌龟SVN 1.6.5“功能”。 TortoiseSVN的1.5正常工作与我们的repositoty(SVN 1.5)。 TortoiseSVN的重订时1.6.5从主线为NEW(不保存合并历史)将文件添加。
而在处理这些文件与冲突的主线分支重返resuls。

我通过使用TortoiseSVN 1.6的功能“复兴分支”解决了这个问题。 它是专门为定意功能分支。

- 阿列克谢·科尔松



Answer 3:

这里有一些更多的信息有助于@Rytmis答案,可以帮助我保持这种连胜。

使行李箱完全像一个分支或标记的高级别步骤:

  1. 结帐从树干。
  2. 使用主干的工作拷贝,从主干分支/标签合并。
  3. 承诺。

实施例使用“svn”命令行命令:

svn checkout <trunk url>
cd trunk
svn merge <trunk url> <branch/tag url>
svn commit -m "<message>"


Answer 4:

我无法真正弄清楚上述方案是如何工作的,所以我的解决办法是不同的。 首先,我确信分支包含所有从树干的变化。

1)我得到了行李箱的新副本。 2)我出口分支使用乌龟SVN出口的临时位置。 3)我使用Windows资源管理器整支树到主干复制和改写4)我用支票变化对乌龟命令,其中包括所有unrevisioned文件复选框所有文件。 5)我选择的所有文件并单击添加。

您应该使用尚未建成,因此unrevisioned文件不包括输出解决方案。

我不能等到我们升级到1.5+



Answer 5:

选择修订,而选择“合并范围的rivisions”使用TortoiseSVN选项合并。 这将防止再次来每个合并操作相同的文件目录树冲突。



Answer 6:

我想我解决了这个问题。 1.右键点击你合并的“分支”。 2.单击乌龟SVN >>合并3.“合并一个版本范围的”和Next 4. !!!检查“反向合并”! ,URL从“分支”合并,特定范围“最近合并修订”,而下一步5.接下来6. SVN Commite

从那以后,我可以从分支合并到主干。



文章来源: SVN - unable to merge branch back into trunk - numerous tree-conflicts