TOPシステム開発> 【バグ管理の作法】Trac徹底活用!> 第4回:チケットとソースコードを連携せよ! (1/3)

【バグ管理の作法】Trac徹底活用!

【バグ管理の作法】Trac徹底活用!

第4回:チケットとソースコードを連携せよ!

著者:masuidrive

公開日:2007/12/27(木)

Tracの最大の利点はSubversionとの連携にあり

さて、最終回の今回はTracのチケットとソースコードの連携を実際に試していく。

コードを書く開発者から見た場合、Tracの最大の利点は普段使い慣れたSubversionから、Tracを使うことができる点にある。開発者は自分の環境に新たなツールをインストールすることなく、Tracへ情報を送ることができる。

Tracの操作は通常Webから行うが、すべての操作をコマンドラインからでもできる。この機能とSubversionへコミット時に自動的にコマンドを呼び出すフックという機能を組み合わせることで、開発者がリポジトリへコミットするとTracを操作するという処理を自動化できるのである。

TracとSubversionの連携
TracとSubversionの連携

Subversionのフックは、Subversionサーバで設定する。リポジトリディレクトリの下にあるhooksディレクトリにファイルを設置することで、リポジトリへの動作に対してそのコマンドが呼ばれる。デフォルトで置いてある*.tmplというファイル群はサンプルのファイルである。

コミット後に呼ばれるのは「post-commit」である。「hooks/post-commit」という実行可能ファイルを置いておくと、コミット後にこのコマンドが呼ばれることになる。post-commitには、第一引数にリポジトリのパス、第二引数にコミット後のリビジョン番号が入っている。

Subversionへコミットするときに書き込むコメントやコミットメッセージに書かれたコマンドを元に、Tracを操作するコマンドは「trac-post-commit-hook」といい、Tracの公式リポジトリ(http://trac.edgewall.org/browser/
trunk/contrib/trac-post-commit-hook
)で配布されている。

このコマンドがサポートしているチケット操作コマンドは、コミット内容とチケットを関連づけるreferencesと、チケットを閉じるcloseである。コマンドの書式は、「コマンド名 チケット番号」となる。前後を()でくくったり、半角空白が開いていれば、文の途中でも使うことができる。

コマンド名は複数の書き方ができ、関連付けるコマンドはreferences、refs、addresses、re、seeのいずれかで指定する。筆者の場合はよく「refs」を使っている。また、チケットを閉じるコマンドはclose、closed、closes、fix、fixed、fixesのいずれかで指定する。こちらは筆者の場合「fixed」を使っている。

チケット番号の指定には、「#チケット番号」か「ticket:チケット番号」という書式を用いる。例えばチケット1番を指定する場合には、「#1」か「ticket:1」のようになる。

同時に複数のチケットを指定したい場合には「,(カンマ)」やand、&といった文字で区切って指定する。例えば、コミットするソースがチケット5番と7番に関係する場合、コミットメッセージに「refs #5, #7」と書く。 次のページ




masuidrive
著者プロフィール
masuidrive
最近は風呂の人と呼ばれるが、別にいつも風呂で仕事なわけじゃない。喫茶店が好きでMacBook proを持って、あちこちのお店で仕事してる。でも良い喫茶店が見つからず、マクドが多いのが残念。
http://masuidrive.jp/


INDEX
第4回:チケットとソースコードを連携せよ!
Tracの最大の利点はSubversionとの連携にあり
  SubversionとTracを連携しよう
  実際にやってみよう!