Gitのブランチ名からissue idを生成するcommit-msgスクリプト
http://d.hatena.ne.jp/mzp/20101118/hooks
これはちょっと大がかりかなと思って、ついでに
以下、使用してみて思ったこと。
・refs [チケット番号]をrefs #[チケット番号]にしたい
→Redmineのコミットログからチケットへの遷移が可能になる
・id/[チケット番号] の命名規則を変更したい
→個人的にですがブランチ名に/が入るのは。。
GitとRedmineの連携 - 初めてのシステムと日記
これと同じことを思ったので自分用に書いた。
https://gist.github.com/726661
コピペできるぐらいがちょうどいいと思って一つのファイルで。
本当はmasterブランチのコミット拒否はpre-commitに書いた方がいい。
feature-foo-bar-id-11 というブランチなら、コミットメッセージの先頭に refs #11 を付け足す。
先頭に付け足すのがアレな場合は if の中を
if [ "$ISSUE" != "$BRANCH" ]; then echo "Auto append: $ISSUE" echo $ISSUE >> $1 fi
単純にこう変えればいい。
一応 commit --amend でどんどんrefsが増えないように初めにgrepしている。
ブランチ名が長いのがアレなので、リリース名やタグとかぶることが無ければidは無くてもいいかもしれない。