如何撤销反向合并?

时间:2014-03-12 23:24:20

标签: svn

我运行了像

这样的命令
svn merge -r1009:1007 .
svn ci

事实上,这些是我跑的确切命令。

我已经做了一些更改,现在我希望将commit 1008的更改重新应用到工作副本(位于HEAD)。

我试过

svn merge -r1007:1008 .

没有输出,差异也没有变化。

如何从提交1008重新应用更改?

这类似于Undo reverse merge in Subversion, or double-reverse merge中的问题,但请注意我反向合并了2次提交,只想重新应用一次。

1 个答案:

答案 0 :(得分:0)

试试这个,风险自负!

svn merge -r1007:1008 --ignore-ancestry .

此解决方案的问题在于它忽略了svn mergeinfo。 mergeinfo有助于防止多次应用更改并智能地处理合并。

在OP的情况下,这将导致mergeinfo被破坏,因为现在SVN认为反向合并来自

svn merge -r1009:1007 .

已经应用,但现在只应用了一半。

如果您注意不要反向合并反向合并,那么事情应该是好的。