You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何强制SVN将指定版本范围的改动合并到当前工作副本中?

SVN 重复合并无响应解决方案

问题原因

你对SVN合并机制的理解是正确的。SVN内置合并跟踪功能,第一次执行合并命令时,会将28537:28979这个修订范围记录到工作副本的svn:mergeinfo属性中。你执行svn revert -R .仅回滚了文件内容的改动,若svn:mergeinfo属性的改动未被同步回滚,SVN就会判定该范围的修订已经完成合并,第二次执行相同命令时不会再引入改动。

解决方案

方案1:强制合并

直接在原有合并命令中添加--force参数,忽略已有的合并跟踪记录,强制重新应用对应修订范围的改动:

svn merge -r 28537:28979 --accept postpone --force svn+vm-ssh://svn.example.com/svn/repos/dev/dev7 .

方案2:清除合并记录后再合并

如果方案1不生效,可以先执行反向合并仅清除对应修订范围的合并记录,该操作不会修改任何本地文件内容,仅调整svn:mergeinfo属性:

svn merge -r 28979:28537 --record-only svn+vm-ssh://svn.example.com/svn/repos/dev/dev7 .

执行完成后再运行你原来的合并命令,即可正常拉取对应范围的改动。

注意事项

  • 合并前执行svn status确认工作副本没有未提交的改动,且已经更新到dev6分支的最新版本,避免产生不必要的冲突。
  • 合并完成后执行svn diff检查改动是否符合预期,确认无误后再提交到仓库。

内容的提问来源于stack exchange,提问作者osullic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 10:45:08