ローカルでファイルを削除してそのままコミットしてしまい、リポジトリのファイルも消えてしまった…。しかも手元の作業コピーは最新ではないので、仮にそれをそのままコミットしたとしてもファイルが最新ではないとき。
対処法を知らないと、一瞬とまどう。頭では履歴が残っているから該当するファイルだけ削除する前のリビジョンに戻せばいいんだと分かっているんだけど、TortoiseSVNとか見てみてもそれらしい操作ができなさそう。下手にファイルの追加なんてやると履歴が切れそうだし。
で、ググってみると
svn copy -r R URL1 URL2
で、「過去のリビジョンから、最新のリビジョンにファイルをコピーする」という操作で戻せた。
リビジョン10でファイルを消してしまった場合は、消す前のリビジョン9のファイルを書き戻す。リポジトリ上でコピーする場合は、URL1,URL2ともにリポジトリ上のURLを指定すること。
svn copy -r 9 http://svnserver/repository/testfile.c http://svnserver/repository/testfile.c
仕事中に「消してしまったんですけど…」と言われて調べてみた。一つ勉強。
コメント