subversionなどコミット時にチェンジログを書き、後からチェンジログにスペルミスなどや間違った事を書いていてチェンジログを編集したいときがある。このような場合はsvnadminのコマンドを使用しチェンジログを編集することができる。この方法は編集すると前のログが消えるので慎重に行わなければならない。

やり方は以下のようになる。

  1. 最初に、リポジトリがあるサーバーにログインする。ssh+svnのようにネット経由では編集できないようだ。
  2. 編集したいリビジョンのチェンジログのバックアップ
  3. チェンジログの編集
  4. リビジョンのアップデート

リビジョン100の内容を編集したいときは以下のように行う。

$ ssh server
$ svn log file:///usr/local/svn/repositoy/ -r 100 > r100.log.orig
$ cp r100.log.orig r100.log
$ vi r100.log #日付や枠を消すこと
$ svnadmin setlog --bypass-hooks repository -r 100 r100.log

svnadming setlog オプションについて

-r
リビジョン番号
--bypass-hooks
デフォルトではフックスクリプトで拒否されるので、強制的に変更するときはこのオプションが必要になる。