svn commit時にhookプログラムを実行する方法

やりたいこと

Subversionでコミットした際に、メール送信やログ出力など何かしらのプログラムを実行したい。

やり方

svnadmin createをした時にできたリポジトリ(ディレクトリ)内にある「hooks/post-commit」を使う。
「hooks/post-commit.tmpl」となっている場合は「hooks/post-commit」にリネームする。

post-commitはshファイルなので、cronに登録するような感じでコマンドやらスクリプトを置いてやればよい。
必ず実行権限をつけること。(chmod u+x とか chmod 700 等)

たとえば

・リポジトリのディレクトリとweb用のディレクトリが別々になっている状態で、コミット後にweb経由でHEADリビジョンを参照できるようにしたい。
・.htaccessしかいじれない(=httpd.confがいじれない)のでDAV svnが使えない。
・Tracとかをインストールするのは面倒くさい&今は必要ない。
とかしたい時に使う。

例)コミットしたら、web用のディレクトリに向かってexportする。

/home/svn/reposにコミットされたら/home/www/repos-exportにexportする。

post-commitの記述例