Svn合并和自动解决冲突

Svn合并和自动解决冲突,svn,svn-merge,Svn,Svn Merge,我是svn的新手,需要做很多从主干到分支的合并工作。 这是我要合并的svn命令序列 svn up svn mergeinfo --show-revs eligible branch trunk (branch and trunk are actually svn urls) 我从branch获得合格版本的最低版本和最新的主干版本,然后进行svn合并 svn merge -r lowest_eligible:latest_trunk trunk_url . 合并过程中存在一些冲突。然而,它们与

我是svn的新手,需要做很多从主干到分支的合并工作。 这是我要合并的svn命令序列

svn up
svn mergeinfo --show-revs eligible branch trunk (branch and trunk are actually svn urls)
我从branch获得合格版本的最低版本和最新的主干版本,然后进行svn合并

svn merge -r lowest_eligible:latest_trunk trunk_url .
合并过程中存在一些冲突。然而,它们与我们在分支中所做的任何更改无关,所以我有点困惑为什么它们是冲突。有什么想法吗?不管怎样,我总是选择,他们的全力去解决它

最后,我需要在提交之前进行svn解析

svn resolve --accept working -R .
我有两个问题。 这是从主干到分支执行合并的最佳命令序列吗

合并往往需要一段时间,所以我想让它合并,让svn自动完全解决冲突。有办法做到这一点吗

  • 如果您将从主干合并到分支机构(分支机构的WC中),则mergeinfo中参数的顺序不正确(颠倒):正确的缩写形式必须是
    svn mergeinfo——显示符合条件的主干的revs
    (第一个参数是合并源,第二个参数是目标/默认“/,即您的WC)
  • 如果您使用已经支持mergeinfo的Subversion,您可以跳过“必须合并”版本的检测范围-Subversion在合并时自动执行
  • 如果您希望在发生冲突的情况下始终首选来自主干的更改,则可以将其添加到merge命令中
  • 最后,您的定期同步合并过程将是分支WC中的单个命令


    svn合并——接受“他们的冲突”

    通常,合并应该简单得多——特别是当您仅从主干合并到分支时。在这种情况下,只要确保

    A) 分支工作副本中没有未提交的更改,以及 B) 您拥有分支的当前版本(您已经通过执行“svn up”进行了此操作)

    如果您准备合并,只需执行

    svn merge ^/trunk 
    
    在你的分行工作副本

    关于冲突:
    有时svn会将合并差异搞砸,并在没有冲突的地方报告冲突。一个好的三方合并工具,如kdiff3,可以帮助创造奇迹。除此之外,我建议不要使用自动冲突解决,因为大多数冲突不会因为避免解决而变得更容易解决。使用上述过程,您至少应该能够避免所有不必要的冲突

    我是否正确理解最低的_合格是来自分支历史记录的修订,而最新的_主干是来自主干历史记录的修订?