Jan 20, 2009
[Subversion] Subversion で削除したファイルをリポジトリから復元する方法と・・・
Subversion で削除したファイルを復元する方法をメモ。 ついでに復元後に発生した "This client is too old" エラーの対応方法もメモ。
Subversion で削除したファイルを復元する方法
まず、削除したリビジョンを "svn log" で調べる。 下記の例では 10137 が removedfile を削除したリビジョンとなる。
10137 が削除したリビジョンであるということは、当然その一つ前の 10136 には removedfile は存在しているということ。 "svn cp" でリビジョン 10136 の removedfile を取得する。$ svn log --verbose ------------------------------------------------------------------------ r10137 | me | 2009-01-06 10:25:35 +0900 (Thu, 06 Jan 2009) | 1 line Changed paths: M /path/to/my/project/modifiedfile D /path/to/my/project/removedfile ... $
$ svn cp -r 10136 ./removedfile ./removedfile2 A removedfile2 $
"This client is too old to work with working copy"エラーの対処方法
Eclipse (+ subclipse) で使用しているワーキングコピーに対して上記の作業を行ったら、subclipse で下記のエラーが発生する様になった。
調べてみたら、yummy-yummyさんの「TortoiseSVNでコミットしたあとにSubclipseで同期とるとエラーになるのですが」というエントリに対応方法があった。感謝!svn: This client is too old to work with working copy '/path/to/my/project'; please get a newer Subversion client
$ wget http://svn.collab.net/repos/svn/trunk/tools/client-side/change-svn-wc-format.py $ chmod 755 ./change-svn-wc-format.py $ ./change-svn-wc-format.py . 1.4 Converted WC at '.' into format 8 for Subversion 1.4 $



