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

标签 svn merge tree-conflict

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

1) 我创建了一个应用程序的分支 (B2)(用于实现图像 Sprite 和 JAWR)。

2)测试和开发在主干上正常进行。

3) 在过去的几天里,我通过以下方式多次重新建立分支:

3.1)将主干(按修订范围)合并到我的branch-b2工作副本,解决合并期间的冲突。

3.2)(测试branch-b2之后),我提交了重新基于的branch-b2。

这一切都按我的预期进行。但是将分支合并回主干对我来说很顺利:

4) 在branch-b2 中提交所有更新之后;我确保在 trunk 和branch-b2 上执行 SVN 更新。

5)然后,我尝试将(修订范围)从branch-b2合并到主干中。然而,对于任何已添加到主干并随后在重新设置基础时添加到分支 b2 的新文件,我会遇到树冲突。我不确定解决这些冲突的正确方法是什么。

我见过的最典型的建议是要么从主干中删除树冲突文件,然后合并分支;要么从主干中删除树冲突文件,然后合并分支;或者删除整个主干,复制分支文件,然后将它们作为新版本提交到主干中。这两个选项似乎都不是一个好主意 - 第一个选项很痛苦,而且两个选项似乎都会丢失文件修订历史记录。

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

最佳答案

听起来您正在使用 1.5 之前的合并样式并尝试将分支重新集成到主干中。在这种情况下,您要做的就是首先确保所有主干更改都已合并到分支中,然后不要将分支范围合并到指向主干的工作副本,而是要合并“FROM trunk” @HEAD TO Branch@HEAD”,工作副本指向主干。本质上:

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

如果您已经将所有主干更改合并到分支,则此方法有效,因为主干和分支之间的唯一区别就是分支中所做的更改。

有道理吗? :)

关于SVN - 无法将分支合并回主干 - 许多树冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1008681/

相关文章:

linux - svn合并问题(svn的3个级别)

svn - 在工作副本中动态更改 SVN+SSH URI 中的用户名

svn - 直接将文件导入 SVN 仓库,无需先 check out

python - 在 Pandas 中合并与在 R 中合并

svn - 无法解决与 SVN 的树冲突

svn 合并功能因树冲突而中断

svn - 合并/不合并 svn 标签的最佳实践

git - 为什么我有时会看到 "Entry ' 文件名不是最新的。无法 merge ."after a ' git reset --hard' 和 'git pull' 吗?

merge - 从合并过程中排除配置文件

SVN如何解决在两个分支上添加文件时的新树冲突