2011-05-07 78 views
3

爲什麼svn的回覆失敗了?svn回覆失敗

我想恢復到6253版

$ svn revert 6253 
Skipped '6253' 

我知道這是我想是因爲我輸入的外殼下面的版本不到一個小時前:

$ svn commit -m "before making change X" 
Sending  scala/Config.scala 
Sending  scala/Entity.scala 
Transmitting file data ............ 
Committed revision 6253. 

我認爲存儲庫有些問題,因爲我輸入svn log時看不到提交消息。我看到的只是前3次提交,以r5650結束。

回答

6

svn revert拋棄本地更改到您的工作副本,所以不會做你想做的事情,因爲這些更改已經提交。

要獲得那些特定版本的文件,請嘗試使用svn update -r 6253 scala/Config.scala scala/Entity.scala

+0

如果我移動文件會發生什麼?那麼在R6253之後,我將前者'Entity.scala'移到'OldEntity.scala'並用新的實現替換掉了它?另外,如果我刪除一個文件而不替換它呢? – dsg 2011-05-08 00:22:24

+0

將'Entity.scala'的內容複製到'OldEntity.scala'會給你留下一個新的未版本控制的文件('OldEntity.scala'),原始文件仍然簽出到版本6253.如果你想用一個新的實現,你需要將文件更新爲HEAD修訂版,然後才允許提交它。不知道是否有更好的方法,但我通常更新到舊版本,將文件的內容複製到別處,將文件更新到HEAD,將舊內容粘貼迴文件並重新提交。 – CVM 2011-05-08 13:28:03