以下の内容はhttps://blog.nakajix.jp/entry/20091213/1260684500より取得しました。


コミット時にチケットに関するコメントが書かれていることをチェックする

前のエントリで書いた以下の内容について試してみました。

TracLightningで「チケットに関するコメントを必須にする - タイトルは未定」の設定を行ってた場合、git commitする時にチケット番号入れ忘れると面倒なことになりそうですね。dcommitする時に怒られると思うので、後からまとめてコミットログを修正しないといけなくなる…

この辺はローカルの「commit-msg」フックを使ってチェックするようにしたらいいんだろうなぁ。ということで、これは今度考えてみよう。

git svnを使ってTracLightningのSVNリポジトリへclone,docomitしてみる - タイトルは未定

commit-msg の編集

.git\hooks に commit-msg を作成して、以下の様に編集します。
シェルスクリプトはちんぷんかんぷんなので、書き方おかしいかも。遠慮無く突っ込んで下さいw

#!/bin/sh

#チケットに関するログが記載されているかのチェック
exp="(?:close|closed|closes|fix|fixed|fixes|addresses|references|refs|re|see)"
exp=$exp".?(#[0-9]+(?:(?:[, &]+| *and *)#[0-9]+)*)"
grep -E "$exp" $1 > /dev/null

if [ $? -ne 0 ]; then
#    echo 'At least one open ticket must be mentioned in the log message.'
    echo 'ログメッセージにチケット情報入れておくんなまし' | nkf -s
    exit 1
fi

正規表現は TracLightning が実際に行っているチェック*1からパクってます。
メッセージについては、git bashだとSJISにしておく必要があるので、nkfSJIS に変換してます*2

*1:$TRAC_LIGHT_HOME/python-lib/trac/contrib/trac-pre-commit-hook

*2:commit-msg を SJIS で作成していれば nkf かまさなくても良いのですが、心配なので…




以上の内容はhttps://blog.nakajix.jp/entry/20091213/1260684500より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14