2012/02/12

Trac-0.12.2.ja1のチケットとSubversionを連携させる

Subversionのコミット時に、Trac-0.12.2.ja1(チケット機能含む)を連携させたいと思います。
Trac-0.12は大変楽になっているようですね。

まず、Subversionのリポジトリディレクトリ下の"hooks/post-commit"に
次の記述を行います。/var/svn/hogeprojectは自分自身のSVNリポジトリディレクトリパス。
(default)は、Trac上で設定しているSVNリポジトリの名前です。初期設定どおりなら(default)はなず。
$2は変数で、リビジョン番号に置き換わります。)
#!/bin/sh
export LANG=ja_JP.UTF-8
/var/svn/hogeproject/hooks/trac-svn-hook "\"(default)\"" $2
この”post-commit”に対して、実行権限を与えておきます。


次に、同ディレクトリ(hooks/)に、”trac-svn-hook”ファイルを置きます。
このファイルは、Trac-0.12.2.ja1のアーカイブの"contrib/"ディレクトリに含まれます。

さらに、”trac-svn-hook”ファイルのConfigurationセクション(48行目あたりから)を編集します。
(対象のTrac環境のディレクトリパスと、Pythonの実行パス、ライブラリパスを指定します。)

# == Configuration
#
# Uncomment and adapt to your local setup:
#
export TRAC_ENV=/var/trac/hogeproject
export PATH=/usr/local/bin/python2.7:$PATH
export LD_LIBRARY_PATH=/usr/local/lib/python2.7:$LD_LIBRARY_PATH
”trac-svn-hook”も、実行権限を与えておきます。

最後に...Tracのプラグイン管理画面で、
"CommitTicketReferenceMacro"および"CommitTicketUpdater"を有効にする。

これだけで...できあがりです。


[2012/02/12 追記]
"hooks/post-commit"に
#!/bin/sh
export LANG=ja_JP.UTF-8
REV=”$2″
trac-admin /var/trac/hogeproject changeset added "(default)" $REV
みたいな感じで直接、trac-adminコマンドを実行するように記述するだけでも良いらしいです。(こちらのほうがさらに楽ですね。)

[2012/02/13 追記]
うまく動作しないときにチェックすること:
  • ”trac-svn-hook”、"post-commit"内の記述(パスなど)
  • ”trac-svn-hook”、"post-commit"の所有者/実行権限
  • Trac環境の"log"ディレクトリの権限
  • Tracのプラグイン設定
    ("CommitTicketReferenceMacro"および"CommitTicketUpdater"が有効か。)

参考にさせていただきました(感謝♪):


0 件のコメント:

コメントを投稿

お気軽にコメントをお寄せください m(_ _)m♪
"コメントの記入者"欄から[名前/URL]を選ぶと、登録なしでコメント投稿していただけます。