2016-10-03 49 views
-1

我想撤銷一個svn修訂版,它不是日誌中的最新版本。修訂版本中有許多文件更改,其中一個已被更新的更改覆蓋,而其他所有更改都是最新的。如何撤銷不是最新的svn修訂版?

所以這是一箇中等難度的場景。不僅是我想要取出的修訂不在日誌的頂部,而且還包含自其他用戶更新以來的文件更改。

您能否建議如何以優雅的方式執行這種回覆,意味着涉及的最簡單的一系列步驟?

+0

閱讀文檔:http://svnbook.red-bean.com/en/1.8/svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.undo – bahrep

回答

0

您將需要創建並應用反向補丁。例如,以下一系列命令會恢復修訂版925中引入的更改。衝突可能會照常發生,您將不得不通過編輯補丁文件來解決衝突。

svn diff -r 925:924 > rev.patch # diff bad revision with previous one 
svn patch --dry-run rev.patch  # check for conflicts 
svn patch rev.patch    # actual patching 
svn commit 
+0

什麼? DIFF?補丁?有一個用於撤消更改的命令:http://svnbook.red-bean.com/en/1.8/svn.branchmerge.basicmerging.html#svn.branchmerge.basicmerging.undo – bahrep

0

你可以只運行svn merge ^/MyProject/trunk . -c-123恢復修訂。不要忘記提交此更改並提供日誌消息。

閱讀SVNBook | Undoing changes