[Subversion] 誤削除されたファイルを復旧するには

ファイルが削除されたリビジョンを特定

 まず、コミットログを出力し、ファイルが削除されたリビジョンを特定します。

$ cd /path/to/target/
$ svn log -v > svn_log.txt
$ vi svn_log.txt

 出力したログファイルを検索します。例では、r732で削除されたこと、直前のr731に戻せばよいということが分かります。

------------------------------------------------------------------------
r732 | kuraoji | 2010-04-07 11:08:42 +0900 (Wed, 07 Apr 2010) | 1 line
Changed paths:
   M /trunk/cake_1.2.5/hoge/views/recipes
   D /trunk/cake_1.2.5/hoge/views/recipes/index.ctp

チケット #266 の対応

ファイルを復旧

 削除直前のリビジョンからファイルをコピーします。

$ svn copy -r 731 https://example.com/repos/Recipe/trunk/cake_1.2.5/hoge/views/recipes/index.ctp .
A         index.ctp

復旧したファイルをコミット

 これを忘れずに!

$ svn ci index.ctp -m "復活!"
Adding         index.ctp

Committed revision 913.

Page 1 of 41234»