Git
Redmine
Mercurial
Trac
SourceTree

[SourceTree 1.6+]コミットメッセージ中の番号をBTS (Redmine, trac, ...) にリンクさせる

More than 1 year has passed since last update.

概要

参考:SourceTreeのコミットログに書いてあるRedmineのチケット番号をクリックできるようにする - Qiita

最近の SourceTree で上記の手順をそのままなぞると、

URL の確認

このような警告が出る。無視しても動作しない。
どうやら SourceTree の仕様変更があったようである。置換先の表現が、 HTML を直接書く方式からただ単に URL を与える方式に変更されている。

前提

SourceTree 1.6 以降。手許では SourceTree 1.7.0.32509 で動作確認した。

BTS は URL 中にチケット番号が現れるものだったら何でもよい。当方は Redmine で確認した(参考: Redmine の URL フォーマットは http://<ROOT>/issues/<TICKET#> )。

設定方法

  1. 設定したいリポジトリを開く
  2. 「リポジトリ」 > 「リポジトリ設定」 > 「詳細」タブ
  3. 「コミットメッセージ中のリンク」の「追加」
  4. 次のように設定。リンク先 URL は各自の環境に合わせて調整(ここでは Redmine を想定している)
    • 置換タイプ:その他
    • 正規表現: #(\d+)
    • リンク先URL: http://redmine.hogefuga.com/issues/$1

備考

正規表現が読める方には釈迦に説法だが、念のため。上記の表現では、次のように動作する。

  • # で始まる、 1桁以上の数字に符合する
  • その数字の部分だけを、 http://redmine.hogefuga.com/issues/$1$1 の位置にセットしてハイパーリンクにする

上記の通り、この設定はリポジトリごと存在する。「複数のリポジトリを一つの BTS と連携させている」ような場合でも都度設定が必要。
裏返せば、リポジトリごとに Redmine や trac を使い分けている場合でも問題なく使えるということである。