svn合并并自动解决冲突

Dec*_*ter 6 svn svn-merge

我是 svn 的新手,需要进行大量从主干到我们正在工作的分支的合并。这是我用来合并的 svn 命令序列

svn up
svn mergeinfo --show-revs eligible branch trunk (branch and trunk are actually svn urls)
Run Code Online (Sandbox Code Playgroud)

我从分支和最新的主干版本中获取符合条件的最低版本,然后进行 svn 合并。

svn merge -r lowest_eligible:latest_trunk trunk_url .
Run Code Online (Sandbox Code Playgroud)

在合并过程中会出现一些冲突。然而,它们与我们在分支中所做的任何更改无关,所以我有点困惑为什么它们是冲突的。有任何想法吗?反正我总是选择,全都解决它

最后,我需要在提交之前执行 svn resolve

svn resolve --accept working -R .
Run Code Online (Sandbox Code Playgroud)

我有两个问题。这是执行从主干到分支合并的最佳命令序列吗?

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

Laz*_*ger 4

  1. 如果您从主干合并到分支(在分支的 WC 中),则 mergeinfo 中的参数顺序不正确(颠倒):必须是缩短的正确形式svn mergeinfo --show-revs eligible trunk(第一个参数是合并的源,第二个参数是 TARGET /default "."/,即您的 WC )
  2. 如果您使用 Subversion,它已经支持 mergeinfo,您可以跳过检测“必须合并”修订的范围 - Subversion 在合并时自动执行此操作
  3. 如果您希望在发生冲突时始终首选来自主干的更改,您可以将其添加到合并命令

作为最终结果,您的定期同步合并过程将是分支 WC 内的单个命令

svn merge <URL-OF-TRUNK> --accept "theirs-conflict"