Subversion コミットログと Trac のチケット連携

Subversion のコミットログと Trac チケットの連携をさせるようにした。

REPOS="$1"
REV="$2"

export LANG=ja_JP.UTF-8

LOG=`(SVN インストールディレクトリ)svnlook log -r $REV $REPOS`
AUTHOR=`(SVN インストールディレクトリ)svnlook author -r $REV $REPOS`
TRAC_ENV="(Trac の プロジェクトディレクトリ)"

/usr/bin/python /usr/share/trac/contrib/trac-post-commit-hook \
  -p "$TRAC_ENV"  \
  -r "$REV"       \
  -u "$AUTHOR"    \
  -m "$LOG"
  • post-commit に実行権を与える
  chmod 755 post-commit
  • ためしに post-commit のシェルスクリプトを実行してみる。エラーがでなければおっけー。
 ./post-commit (SVN リポジトリ) (revno)

個人的にはまった点

  • シェルスクリプトのバッククォーテーションとダブルクォーテーションの使い方ではまった
    • ``→コマンド実行する際に使う
    • ""→単純な文字列として扱われる