Subversionコミットログを記載するときに、手軽に課題キーを付与する

コミットするときに、チケットID(Backlogでの課題キー)を手軽に設定できる方法。知っている人にとっては今更な話題でしょうが。主にBacklog/Subversive向けの設定方法になりますが、細かい点を除いたらどのBTS/ITSでも一緒。

参考:


実現したいこと

課題キーを手軽に入力するために、コミット時にテキストフィールドを表示させます。
f:id:ikikko:20091020024030j:image

そこにキー入力してコミットすると、自動的にコミットログに「 ( refs TEST-1 ) 」といったログメッセージが追記されるというものです。
f:id:ikikko:20091020024031j:image

コミット時に別途フィールドを表示させることによって、課題キー添付を忘れること防ぎ、なおかつログのフォーマットも整えることができます。

設定方法

Subversionのプロパティ「bugtraq:~」で制御できます。プロパティの設定には「プロジェクト 右クリック > チーム > プロパティーの設定」から行います。↓のような画面が出てくるので、下記表に従って設定してやりましょう。ちなみに、この設定はトップディレクトリ(大体の場合において、trunkでしょう)で設定してやれば、サブディレクトリは再帰的に適用されます。
f:id:ikikko:20091020031558j:image

名前 説明
bugtraq:append false ログの末尾に追記するか先頭に追記するか。falseで、先頭に追記
bugtraq:label 課題キー 入力フィールドのラベル
bugtraq:message ( refs [[%BUGID%]] )*1 追記されるメッセージフォーマット。%BUGID%が、ユーザ入力に置換される
bugtraq:number false 入力が数字のみで構成されるか否か。Backlogの課題キーは英数字を含むので、falseをセット
bugtraq:warnifnoissue true 課題キーが入力されなかった場合に、警告ダイアログを表示するか否か

これで、上記の目的が実現できます。


これだけでもちょっと感動ものだったのですが、ここまでやれたら次のステップがやりたいですよね?あと実現したいことは、こんな感じ。

時間見つけて、前者ができないかちょっと検討してみましょうかね。

*1:post-commit-hookとの連携で、メッセージの中身は若干変わってくるかも。"refs"じゃなくて、"closed"とか。