【SVN】ステータスがチルダになった場合の解決方法

svn のステータスが チルダ になった・・・。
これはすでにバージョン管理下にあるファイルやディレクトリを
別のものに置き換えた時に発生するらしい。

多分以下のような感じでチルダにした気がする・・・

svn管理下にあるディレクトリ「parent_dir」の直下に、
ディレクトリ「new_dir」を新規作成する。

「new_dir」の中に、
すでにsvnで管理してあるディレクトリ「old_dir」を入れた。

「new_dir」に対して svn add new_dir した。

そうすると、new_dir 自体は バージョン管理されていないのに、
old_dir はバージョン管理されているのでうまく処理できない。
old_dir の中には .svn が入っているからね・・・orz
ってことで、svnのステータスがチルダになった気がする・・・多分・・・。

上記には記載がないが、new_dir には他にも新規作成のファイルがあるので、
とりあえず消えないように new_dir ごとどっかにコピーしておく。
さらに、コピーしておいた new_dir 内の svn管理ファイルを全部消す。
これで new_dir はバージョン管理されていない状態になる。

つぎにチルダを解消する。

とりあえず、new_dir を rm で消す。
# rm -fr new_dir

svnステータスは ! になる。

svn update new_dir をかける

new_dir が復活する。

svn delete new_dir をする。

new_dir が D になる。

svn ci new_dir -m '' をする。

new_dir が svnの管理から外れる。

最初にコピーしておいた new_dir を追加して、
svn add new_dir する。

svnステータスが A になる。

あとはコミットすればOK。

new_dir はコピーしたから何やっても問題ないので、
とりえず色々消してみると上手くいく気がする。笑