ログ日記

作業ログと日記とメモ

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は無くてもいいかもしれない。