trac と subversion を用いてプロジェクトを管理していて、subversion で管理しているソースをコミットする時
チケットの参照
refs #1, #2 * commit message
チケットの解決
fixed #3 * bugfix
などのメッセージを入れるかとおもいます。
このコマンドをメッセージとしてコミットすると対応するチケットのコメント欄は下図のようになります。
数個のコメントならいいですが、たくさんのコメントが付いた場合どのチェンジセットがこのチケットに関わるものなのかわかり辛くなります。
そんなときに便利なのがこのTicket Changesets Plugin です。
インストール
1. まずはリポジトリからチェックアウト
svn co http://trac-hacks.org/svn/tracticketchangesetsplugin/trunk TracTicketChangesetsPlugin cd TracTicketChangesetsPlugin
2. egg の作成
wiki のインストール手順では
python setup.py install
となっていますが、egg 作ってplugins に置くほうがいいらしいのでeggを作ります
python setup.py dist_bdist
2. プラグインを使いたいTracEnvのpluginsにコピーします
cp ./dist/TracTicketChangesets-1.0dev_r8135-py2.6.egg /path/to/tracenv/plugins/.
4. trac.ini に以下を追記します
[components] ticketchangesets.* = enabled [ticket-changesets] check_perms = true collapsed = false commands.close = close closed closes fix fixed fixes commands.refs = addresses re refs references see ticket tickets compact = true hide_when_none = false notify = false resolution = fixed
5. trac をアップグレードします
trac-admin /path/to/tracenv upgrade
6. リポジトリ、チェンジセットと同期をとります
trac-admin /path/to/tracenv repository resync "*" trac-admin /path/to/tracenv ticket_changesets resync
7. 既に存在しているチケットへのコミットメッセージを書き換える?
(DANGEROUS!とあるのでtrac自体のアップグレードの際は注意してください)
差分を保存しておくのかな
trac-admin /path/to/tracenv ticket_changesets diff > out.diff
書き換え
trac-admin /path/to/tracenv ticket_changesets reformat
後はsubversionのhookの設定がしっかり出来ていれば動きます。
チケットに関連するチェンジセットがまとめられたフィールドが表示されます。