Tracに欲しい機能

日常の開発業務ではTracを使っていて特に大きな不満は無いのだけど、人間は欲深いもので「こんな機能が有ればさらに便利なのに」と思うことがたまにある。既にどこかに解決策があるのだろうか?と思いつつ探してみたものの情報は見つからなかった。現場の工夫として運用でカバーしているのが現状とは言え、もう少しシステムとしてのサポートも欲しい気がする。そんなわけで、機能追加の要望を無責任にも並べてみる。Tracプロフェッショナルの方、何か上手い解決策はないものでしょうか?

  • リポジトリブラウザやチェンジセットに紐付くwiki
    確かにSubversionでコミットする時にコメントは入力できるけれど、それだけで完結するとは限らない。後になって情報を付記したり、注意事項等をメモとして残しておきたいこともある。現状ではそんな仕組みが無いので、仕方なくWikiに情報を書いておいてそこからリンクを貼っておくことにしているけれど、これでは最初にチェンジセットを見た時に逆方向のWikiへ辿り着くことが出来ない。リポジトリブラウザやチェンジセットのページ内にもWikiのセクションを用意しておくとか(管理が面倒になるであろうことは予想がつくけど)、ブログのトラックバックのように別のWikiページの方へ誘導できる仕組みが欲しい。これなら双方の情報が結びつけられるので、どちらからでもリンクを辿ることが可能になるはずだ。
  • 1つの障害に対して複数コミットした場合の紐付け
    1回のコミットで1つの障害対応が基本ルールである事は分かっているけれど、ミスを繰り返すのが人間の宿命なので、修正漏れに対応するための別コミットなんて良くある作業だ。こんな時に困るのは、「複数のコミットで一つの修正が成り立っている」ことをどのように分からせるかということだ。もちろん、全てのコミット番号をチケットへ書いておくのは一つの方法だけど、それはチケットを見て初めて分かる話であって、チェンジログのページを見ている限りそんな「離れたチェンジセットを結びつけて理解する」なんてなかなか出来るものではない。こんな「埋もれがちな情報」を漏れなく自動的に集約できる仕組みが欲しい。
  • リポジトリ全文検索
    HyperEstraierというプラグインを見つけたけれど、惜しいことに最新コードの検索のみにしか対応していない。欲しいのは「最新版を含む全ての履歴からの検索」の方だ。リポジトリ内には全ての履歴が含まれているのだから、その中を一網打尽に検索する仕組みがあれば情報は必ず見つけられるはずだ。問題発生の時期を調査する場合など、「どこかのリビジョンで削除されてしまった情報」を探し求めることは珍しいことではない。もちろん、ソースコードだけではなく、Subversionに入れてある仕様書のWordファイル等の中も含めて全て検索して欲しいところだ。