Subversionで無かったことにする


このサイト上で公開しているTracにテストでPHPのマニュアルをコミットしたら、ファイル数がとても多くて(9千件以上!!)、タイムラインやリポジトリブラウザの表示の際に異常にCPU負荷が高くなることに気がついた。

とりあえず、リポジトリを削除したのだが、このTrac+SVNはほんとうに素晴らしくて削除済みのアイテムもちゃんと表示してくれたりする。(じゃなかったら使う意味が半減ですが。。。)

どうしようかとおもったら、特定のファイルやディレクトリに対する履歴を完全に削除する方法があった。

svnadmin dump /home/svn/repos | svndumpfilter exclude /jogai > dump.svn
rm -fr /home/svn/repos/*
svnadmin create /home/svn/repos/
svnadmin load /home/svn/repos/ < dump.svn
trac-admin /home/svn/trac resynv

最後の行のtrac-admin….は、この作業結果をtracに反映するおまじないです。


関連する記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>