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の設定がしっかり出来ていれば動きます。

チケットに関連するチェンジセットがまとめられたフィールドが表示されます。


Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

required