« TracXMLRPC.clsを使って進捗報告のレポートを作成する例 | トップページ | 宣伝:Shibuya.trac勉強会第4回 »

2009年5月30日 (土)

SVNリポジトリを複数のTracから共有し,post-commitでのコメントをそれぞれに振り分ける

チケットタイプによってカスタムフィールドが大きく違っていたりして,TicketExtプラグインを使用してもおなじTracで扱うのに無理があるような場合に,複数のTracプロジェクトに分けたいと思うときがあります.しかし,別のTracプロジェクトから同じリポジトリを使うことはできますが,コミットのコメントをどのTracに割り振るかを決めることができなくいので,リポジトリを使うのは一つのTracプロジェクトにまとめる必要がありました.(私が知らないだけかもしれませんが…)それで,InterTracリンクからヒントを得て,trac-post-commit-hookでTracプロジェクトに割り振る仕組みを作ってみました.

とにかくちゃんとやるのは面倒なので,とりあえず次のようなコメントが登録されるところまでを作ってみることとします.

svn commit -m "refs test2:#4 refs test3:#2"

1. create-projectでtest1,test2,test3を作り,適当に必要な番号までチケットを追加してください

2. 各プロジェクトのconf/trac.iniを編集し,InterTracを有効にします(ショートカットも設定しているが,できれば使ってほしくない)

[intertrac]
t1 = test1
t2 = test2
t3 = test3
test1.title = Trac Test Project 1
test1.url = http://192.168.1.8/trac/test1
test2.title = Trac Test Project 2
test2.url = http://192.168.1.8/trac/test2
test3.title = Trac Test Project 3
test3.url = http://192.168.1.8/trac/test3

3. 副プロジェクト(このばあいはtest2,test3)のconf/trac.iniのたぶん最後のあたりを編集し,リポジトリを主になるプロジェクト(test1)のものに変更する

[trac]
authz_module_name = test1
repository_dir = C:\TracLight\projects/svn/test1

4. リポジトリに再同期する

trac-admin.bat resync c:\TracLight\projects\trac\test2

5. 「trac-post-commit-hook」をダウンロード し,python-lib\trac\contribにおく

元のファイルはバックアップしてください.

6. リポジトリをチェックアウトし,何かを適当にコミットします.

cd 適切なフォルダ
svn co http://localhost/svn/test1
フォルダを作ったり,移動したりする.
svn commit -m "refs test2:#4 refs test3:#2"

7. 確認します

まずはチェンジセット

Test1cs3

ログメッセージからtest2:#4をクリックし表示されることを確認

Test24

同様にコメントからtest3:#2をクリックし表示されることを確認

Test32

コメントがついてちゃんとリンクできることが確認できました. 今回は私が必要としている形のコメントに対応するところまでしかやっていません.あと,InterTracの設定を使っていないので,同じサーバの兄弟プロジェクトのみでしか動きません.

Python全然わからないので修正する力はありませんが,間違っていたら指摘してください.

http://zakizaki.cocolog-nifty.com/software/2009/06/post-d614.html で リポジトリを共有しない場合の修正方法を追加しました(2009/06/15)

|

« TracXMLRPC.clsを使って進捗報告のレポートを作成する例 | トップページ | 宣伝:Shibuya.trac勉強会第4回 »

Trac」カテゴリの記事

SVN」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: SVNリポジトリを複数のTracから共有し,post-commitでのコメントをそれぞれに振り分ける:

« TracXMLRPC.clsを使って進捗報告のレポートを作成する例 | トップページ | 宣伝:Shibuya.trac勉強会第4回 »