2010-08-06 83 views
1

我合併我的HEAD版本的結賬回修訂1000:SVN:如何撤消反向合併?

$ svn merge -rHEAD:1000 . 
--- Reverse-merging r2000 through r1001 into '.': 
U dir/foo.txt 

在那之後,我想撤消和合並回最新版本。我的結帳現在應該在1000版本,所以我需要合併從1000到HEAD的所有內容。但svn沒有做任何事情:

$ svn merge -r1000:HEAD . 

嗯,或只是一個回覆?

$ svn revert . 

它只是很安靜,並不會將foo.txt更新到HEAD修訂版。我應該怎麼做?

回答

1

做它recursivly,

svn revert -R . 

或恢復只是改變了文件

svn revert dir/foo.txt 
+0

好,謝謝!有誰知道爲什麼'svn merge -r1000:HEAD .'不起作用? – Frank 2010-08-06 23:47:26

+0

我在這裏猜測,但可能是因爲svn認識到'HEAD'已經是實體的最後一個版本,它已經經歷了'REV'和'HEAD'之間的所有修訂(呃,它實際上是'WORKING',就像你有局部改動),所以決定不需要改動。它實際上並沒有「回退修訂版」,它應用了來自修訂版的相反差異,這被視爲「新修改」。我檢查了一下:檢查修訂版本N然後執行'svn merge -rN:HEAD',然後它就起作用了(如:它將應用所有差異,即使它們相等,'HEAD'的更新也會導致衝突 – Wrikken 2010-08-07 00:14:18