如果
- 我正在修订版本 5 的 SVN 分支上工作。
- 我进行了更改,承诺创建修订版 r6。
- 在 r6 引入问题时恢复到 r5,并提交,创建 r7
- 继续在 r7 上工作,最终提交到 r10 的更改
如何将 r6 中所做的更改合并回我的工作副本?
我试过了
svn merge -r5:6 .
和
svn merge -r5:HEAD .
两者似乎都无济于事。我究竟做错了什么?
如果
如何将 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,如果有记忆的话),至少如果您对整个目录执行合并。将更改还原到单个文件或一组文件不会影响属性。如果您不希望将这些属性添加到存储库中,则可能需要回退到补丁(自动或手动)。
I am not too familiar with command line svn. But in case the correct usage does not get you the result you want here is what I would try:
尝试反转合并出初始还原的修订。
例如,代替 svn merge -r 5:6 尝试 svn merge -r 7:6 。
你可以恢复。创建一个标签。完成后,您可以将标记中的更改合并到您正在工作的分支中。