我在我的 svn 存储库中提交了一些更改。假设 HEAD 位于 r750,我想在不丢失 r746-r750 的情况下恢复 r745。这可能吗?
而且,我可以以某种方式保存 r745 并稍后重新应用它(作为新修订版)吗?
假设你得到一个干净的向后合并,你可以这样做......
svn merge -r 745:744 <source>
然后,当您想重新应用它时,可以将其转发合并:
svn merge --ignore-ancestry -r 744:745 <source>
有关更多信息,请查看“合并的常见用例”。
是的,这绝对是可能的。
当您恢复更改时,它仍会在存储库中创建新修订。所以你会做这样的事情:
1)查看当前副本 r750。
2)使用 . 在工作副本上指定恢复svn merge -r
。您的工作副本将合并旧版本。
3)将工作副本签入为 r751。
现在您将在历史记录中进行两次修订。新的 (r751) 不包括 r745,因为您已将其回滚。但是如果您想重新应用它,r745 仍然会存在。您可以简单地签出 r745 的副本,将其合并到您的工作副本中,然后将其重新签入(例如 r752)。