4

我有一个开发分支,有一段时间没有动过。我将主干合并到其中以集成主线中的许多修复/更改,因为它被分支出来,但现在我有很多小冲突(合并左/右合并)。

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

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

4

5 回答 5

7

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

于 2008-11-30T11:14:13.033 回答
3

就像 abigagly 说的,你应该--accept theirs-full在合并时使用。如果您已经完成合并并想重新开始,您可以使用svn revert -Rfirst, 重新开始。

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

于 2008-11-30T11:53:55.837 回答
3
svn --version
svn, version 1.6.17 (r1128011)

svn resolve -R --accept='theirs-full' <path>
于 2011-09-19T19:10:27.613 回答
0

我认为如果您执行“检查修改”,TSVN 可以做到这一点,它将向您显示所有文件,包括冲突的文件,将它们全部选中,然后选择“使用他们的解决”。

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

于 2008-11-30T11:29:32.703 回答
0

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

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

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

推送过程:

  1. svn merge --reintegrate --accept 推迟 URL-branch path-to-workspace
  2. svn mergeinfo URL-branch path-to-workspace --show-revs 合格 > 合格_revs.txt
  3. 重复直到没有任何符合条件的东西

PULL 过程: 相同的模式,但减去 --reintegrate

于 2010-05-11T19:59:13.477 回答