繁体   English   中英

SVN将以前的修订版合并到工作副本中

[英]SVN merge previous revision into working copy

如果

  • 我正在修订版5的SVN分支机构。
  • 我做了一个更改,承诺创建修订版r6。
  • 当r6引入问题时,恢复为r5,并提交,创建r7
  • 继续在r7上工作,最终将更改提交到r10

如何将r6中所做的更改合并到我的工作副本中?

我试过了

svn merge -r5:6 .

svn merge -r5:HEAD .

两者似乎都无能为力。 我究竟做错了什么?

试试这个:

svn merge --ignore-ancestry -r5:6 .

或使用更新的语法:

svn merge --ignore-ancestry -c6 .

顺便说一句:我建议您始终指定要使用的文件而不是“。”

如果您使用的是相对较新的svn版本,则可以使用:

svn merge -c -6 .


(或您想要还原的特定文件,而不是'。')
这是一个简写:

svn merge -r6:5 .

因此,如果您使用较旧的subversion版本(1.6.x之前),则可以使用此语法。

这可能会将属性引入您的存储库(svn:mergeinfo,如果内存服务),至少如果您在整个目录上执行合并。 将更改还原为单个文件或文件集不会影响属性。 如果您不希望将这些属性添加到存储库中,则可能需要回退到补丁(自动或手动)。

我对命令行svn不太熟悉。 但是如果正确的用法没有得到你想要的结果我会尝试:

  1. 从版本r6创建补丁(r6和r5之间的差异)。
  2. 将其应用于工作副本。

尝试撤消合并出初始还原的修订版。

例如,而不是svn merge -r 5:6尝试svn merge -r 7:6。

你可以回复。 创建一个标签。 完成后,您可以将标记中的更改合并到您正在使用的分支中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM