そんなことができるとは・・・。
svnadmin setlog
svnadmin setlog、その魅惑の響き、誘惑に駆られる。なんたって、一回こっきりで変更できないと思っていた Subversion のログメッセージが書きかえられちゃうんですもの。
まー、普通に考えたら、ログメッセージなんて、「あ、いっけね。」みたいなことがあるわけで、ログメッセージの修正は機能としてあっていいはずだ。監査対象であればいざ知らず、単なる開発ツール・・・。
ただ、単なる開発ツールとはいえ、業務的な状況だと、ひとつひとつのコミットが重要だったりするから、容易にログメッセージを修正できちゃうと問題だよね。
そんなことを考えつつ、ログを改ざん、じゃなくて修正。
svnadmin setlog REPOS_PATH -r REVISION FILE
しかし、なんかエラーが出て止まる。REPOS_PATH に URL を指定してた。ってことは、この機能、リポジトリがあるサーバ上でしか実行できないのか。てことは、それなりにアクセスコントロールされてるのかな。
とか考えながら、リポジトリのあるサーバにログイン、コマンド実行、エラー。今度は何?って思ったら、フックがどうの、とか。これだな。
“これは pre-revprop-change フックでリビジョン属性の修正が有効ではない場合に便利です。”
svnadmin setlog
なんかよく分からないけど、フックがあったらいいのか?いや、こっちだ。
“–bypass-hooks を使って、コミット前後のフックを実行しないようにできます。”
svnadmin setlog
というわけで、ローカル環境でフックを無効にして実行したら、上手く行きました。