解析SVN合并递归地推迟了冲突

时间:2008-11-30 10:50:19

标签: svn merge conflict

我有一个dev分支,暂时没有被触及。我将主干合并到它中以集成主线中的许多修复/更改,因为它已经扩展,但现在我有许多小冲突(merge-left / merge-right)。

我希望使用最新的主干修订来解决每个冲突。是否有一个我可以运行的命令可以自动解决一个方向下工作副本下的所有冲突(合并权应该用于所有冲突)?

编辑: 如评论中所示,我尝试恢复然后使用--accept选项运行svn merge,但显然SVN 1.0中没有这样的选项。仍在寻找解决方案。

5 个答案:

答案 0 :(得分:7)

我认为您在发出svn merge命令时可以使用“--accept theirs-full”选项。 那应该做你想要的......

答案 1 :(得分:3)

像abigagly所说,在进行合并时应该使用--accept theirs-full。如果您已完成合并并希望重新开始,则可以先使用svn revert -R重新开始。

--accept选项是SVN 1.5中的新选项,以及交互式合并支持。

答案 2 :(得分:3)

svn --version
svn, version 1.6.17 (r1128011)

svn resolve -R --accept='theirs-full' <path>

答案 3 :(得分:0)

我认为TSVN可以执行此操作,如果您执行“检查修改”,它将显示所有文件,包括冲突文件,全部选择,然后选择“使用他们的解析”。

不确定TSVN是否与您的平台相关,或者它实际上是您想要做的,但它可能会有所帮助......

答案 4 :(得分:0)

好的,我有一个计划,我认为它解释了我的大部分困境 - (从我的帖子收集到用户@ subversion ......)

我认为我们遇到了以下让事情变得更糟的问题:

  • cherry pick合并+合并在root以下的级别(所有都允许,但它们可以使以后合并更复杂)
  • 我们假设合并命令完成意味着所有更改合并(没有与mergeinfo --show-revs合格的双重检查)
  • 早期客户可能存在的错误(1.5或1.6)。我们有很多ubuntu和debian系统,最初并不知道wandisco的更新站点。所以,我们错过了保持最新状态的简单方法。我们现在正在快速部署1.6.11

PUSH流程:

  1. svn merge --reintegrate --accept postpone URL-branch path-to-workspace
  2. svn mergeinfo网址 - 分支路径到工作区 - 显示符合条件的&gt; eligible_revs.txt
  3. 重复,直到没有任何东西可以使用
  4. PULL进程: 相同的模式,但减去--reintegrate