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. 確認します
まずはチェンジセット
ログメッセージからtest2:#4をクリックし表示されることを確認
同様にコメントからtest3:#2をクリックし表示されることを確認
コメントがついてちゃんとリンクできることが確認できました. 今回は私が必要としている形のコメントに対応するところまでしかやっていません.あと,InterTracの設定を使っていないので,同じサーバの兄弟プロジェクトのみでしか動きません.
Python全然わからないので修正する力はありませんが,間違っていたら指摘してください.
http://zakizaki.cocolog-nifty.com/software/2009/06/post-d614.html で リポジトリを共有しない場合の修正方法を追加しました(2009/06/15)
| 固定リンク
「Trac」カテゴリの記事
- Dockerでkanon(Trac)を動かしてみた2 - イメージの作成(2017.08.27)
- Dockerでkanon(Trac)を動かしてみた(2017.08.27)
- TracLightningにコバンザメしてKanonと同様にPluginをインストールする(2014.04.13)
- kanonをTrac1.0.1+MySQL対応に変更してみた(2013.11.24)
- kanonをTrac1.0.1対応に変更してみた(2013.11.11)
「SVN」カテゴリの記事
- メールで受け取ったファイルをSVNに登録する(2012.01.22)
- 今までTrac関係で作ったものの関係をまとめる。(2009.08.23)
- Shinjyuku.trac勉強会第4回発表資料(2009.08.23)
- リポジトリを共有しない場合で隣のプロジェクトへコミット時のメッセージをつける(2009.06.15)
- SVNリポジトリを複数のTracから共有し,post-commitでのコメントをそれぞれに振り分ける(2009.05.30)
この記事へのコメントは終了しました。
コメント