同级分支之间的SVN合并

同级分支之间的SVN合并,svn,merge,Svn,Merge,在SVN中,我有两个分支,1.0和2.0。如果我在1.0中修复了一个问题,如何将该修复合并到2.0中,反之亦然 考虑以下场景: 我对1.0分支进行了修复,它创建了一个新文件a(rev X) 我使用1.0到2.0(版本X+1)的修复程序进行简单合并 然后我对2.0分支进行了修复,它修改了a(revy) 如果我将该修复程序合并回1.0,则会出现合并冲突 我想我总是可以强制首先在1.0分支上进行修复,或者我可以手动阻止1.0分支上的X+1修订。这两种方法都不理想,我想知道是否有更好的方法来处理兄弟分支

在SVN中,我有两个分支,1.0和2.0。如果我在1.0中修复了一个问题,如何将该修复合并到2.0中,反之亦然

考虑以下场景:

  • 我对1.0分支进行了修复,它创建了一个新文件a(rev X)
  • 我使用1.0到2.0(版本X+1)的修复程序进行简单合并
  • 然后我对2.0分支进行了修复,它修改了a(revy)
  • 如果我将该修复程序合并回1.0,则会出现合并冲突
    我想我总是可以强制首先在1.0分支上进行修复,或者我可以手动阻止1.0分支上的X+1修订。这两种方法都不理想,我想知道是否有更好的方法来处理兄弟分支。

    最佳方法取决于分支的用途

    例如,如果分支1.0用于bug修复,分支2.0用于测试,那么首先在1.0上进行所有修复,然后推到2.0是有意义的

    如果它们是不同的项目,并且您希望选择哪些功能在分支之间合并,那么您可以使用主干作为中心点

    如果两个分支都有相同的文件和更改,但都不具有权威性,这就引出了一个问题:您真的需要两者吗


    最终,如果两个分支都涉及对同一个文件进行更改,则会产生冲突,这取决于您的情况,即哪一个分支每天处理起来比较麻烦。

    我们不经常这样做,但每当发生这种情况时,我们都会使用手动块(即
    --仅记录
    ).分支是同一产品的不同版本。我们必须继续支持仍使用1.0的客户并发布补丁,同时在2.0上进行新的开发。维护1.0分支的工程师通常会发现并修复错误,而这些错误也适用于2.0分支。开发新的2.0分支的工程师发现了可能影响1.0版本的bug,并希望将这些更改也推回。经过更多讨论,我相信使用主干作为集中点是理想的方案。