SVNでディレクトリを完全削除【Windows】

ローカルWindows環境でsvnを使っているんだけど、間違って1G近いファイルをsvnにコミットしてしまった。
で、単純にdeleteするだけでは履歴が残ったままで何の解決にもならないので、完全にディスク上から削除する方法をメモ。
まずDOS窓から以下のようなコマンドを打つ。

svnadmin dump 【svnディレクトリ】 | svndumpfilter exclude 【消したいsvnパス】 > 【適当なファイル名】

【svnディレクトリ】には、c:\svnなどのディレクトリ名。
【消したいsvnパス】には、/missproject といったようにsvn上のパス
【適当なファイル名】は何でも良い。c:\dumpとでもしておく。

すると、【適当なファイル名】にdumpファイル(バックアップファイル)が出力される。
このファイル内には【消したいsvnパス】で指定したパスに該当するファイル達は既に除外されている。

次に【svnディレクトリ】をディレクトリごと削除、もしくはディレクトリ名を適当な名前に変更する。

で、最後に新しくsvnディレクトリをcreateし、dumpファイルをインポートさせればOK

svnadmin create 【svnディレクトリ】
svnadmin load 【svnディレクトリ】 < c:\dump

要はリポジトリを作り直すって事ね。
ちょっと面倒くさい。

Comments are closed.