Subversion でコミット時にメールを投げる[Subversion]

このエントリーをはてなブックマークに追加


2006-08-29


よくあることなんだけど、だれかがリポジトリに対して commit した時に、メールを投げるように、社内の Subversion に細工してみた。

リポジトリの中を直接覗くと

$ cd $SOMEWHERE
$ ls
README.txt conf dav db format hooks locks


みたいになってるんだけど、hooks というディレクトリに post-commit.tmpl というファイルがあるのでそれをコピーして使えばOK。

$ cd hooks
$ cp post-commit.tmpl post-commit
$ chmod a+x post-commit


ただ、このままだとコミットメールのログが化ける。この "post-commit" は、

/usr/lib/subversion/hook-scripts/commit-email.pl


を呼び出してるんだけど、さらにこのスクリプトは内部で "svnlook info" を実行してます。で、どうもちゃんと LANG が設定されていないと、文字化けが発生するらしい。
ということで、スクリプト内部に

$ENV{'LANG'} = 'ja_JP.utf8';


とか追加してみる。これで文字化けは解消。だいたい仕組みはわかったので、コミットメールの内容をカスタマイズしたり、trac へのチェンジセットへのリンクを入れたり、UTF8 に対応していないメールのために、文字コードを JIS にしてゴニョゴニョとかやってみる。ちゃんと動いてるっぽい :-)



IPv4/IPv6 meter
検索キーワードは複数指定できます
ChangeLogを検索
Google
Web www.kunitake.org
思ったより安い……時もある、Amazon

カテゴリ