チケットシステムとソースコードを連携させる方法
tracpath はプロジェクト管理のタスクやバグを管理するチケットシステムがあります。このチケットシステムはバージョン管理システム(ソースコード)と連携することで、
- チケットから見た、対応状況とソースコードの修正が確認
- ソースコードの変更履歴から対応したチケット内容を確認
することができます。
例えば、 チケット「バグ」に対応したプログラムの修正内容を確認したり、プログラムの修正履歴(修正した内容)を説明したチケットを確認することができます。
開発が長く続いている場合や、新機能の開発、運用後のバージョンアップなど同じプロダクトの開発継続する場合、過去のソースコードに対する修正やその理由を追いかけて知ることができる「チケットシステムとソースコードの連携」は大きなメリットになります。
コミット時のコメント追加、チケット連携機能は、GitとSubversionリポジトリに対応しています。以降の説明では、リポジトリに「Subversion」を利用していますが、Gitでも同様の操作が可能です。
Ticket と リポジトリ(Subversion/Git) を連携
以下の図でチケットと リポジトリ(Subversion/Git) の連携をイメージしてください。
(1) コミットを実行し、コミットメッセージを記述
使い慣れたSubversionクライアント(TortoriseSVN)を使って、プログラムに修正をしました。修正・テストして問題なければリポジトリにコミットを行います。 コミットメッセージにはそのコミットで行った修正内容や理由を記述します。
例: svn commit -m "trunk: tracwysiwyg が Internet Explorer 10 で動作しないツールバーボタンがあるのを修正。また Firefox での改行挿入ボタンが効いていないのも修正 (fixed #1723)"
(2) チケットシステムに記録
tracpathは commit-hook(コミットフック) に対応しています。コードを書く開発者にとって便利で強力な機能の一つです。commit-hook とは、バージョン管理ツール(Subversionなど)からコミット時に tracpath のチケットを操作することができます。 コミット時に簡単なキーワードをコミットメッセージとして記述するだけでできます。
references,refs コマンド:メッセージを指定したチケット番号にコメントとして投稿
これはチケット ref #36 に対するコメント
closes, fixes コマンド:チケットを完了する
これはチケット fixes #40 に対するコメントで完了する
コマンドの混在:チケット参照とチケットの完了
チケット番号を複数指定したいとき、 refs #14 #27
チケット番号の参照 refs #14, #15 and #16 チケットを完了させる fixes #33, #34
(3) ソースコードの変更履歴
「In[2393]」に注目してください。バージョン管理システムのコミットフック機能を使って、チケットにコミットメッセージを追加しました。チケットの変更履歴に自動で「In [2393]」が追加されています。 これは、コミットしたときの変更履歴(リビジョン番号)が自動で追加されます。
これにより、チケットの対応状況を確認したとき、コミットメッセージとソースコードの修正履歴・修正内容を確認することができます。
tracpath と連動するコミットメッセージの特長
tracpath の特長として、Wiki、マイルストーン、チケットのテキストエリアに Wiki 書式を利用することができます。 Wiki 書式を利用するとことで、
- 「#」で始まる番号はチケットへのリンク
- 「[]」で囲まれる数字はリポジトリのリビジョンへのリンク
その他にも
- ソースコード (Subverison) のコミットメッセージ
- Wikiページ
- チケット、レポート、マイルストーンでの説明記述箇所
とても柔軟性の高い設定が可能です。