gitのhookでメール送るとか

ググればサンプルはたくさん出てくるのだけど、.git/hooks/post-receiveに

#!/bin/sh
TITLE=`git show '--pretty=format:[リポジトリ名] "%s" by %cn #%h'|head -1`
git show | mail -s "$TITLE" メールアドレス

とか書いておく程度でいいかなと思った。ブランチまで含めた運用はもう少し考えたい。

Gitのフックはreceiveとupdateの違いがよく分からなかったんだけど、man githooksするよりも以下が分かりやすかった。

(以下、2010/11/25追記)
その後、updateで以下のようなhookスクリプトを動かすように変更。

#!/bin/sh
REPO="リポジトリ名"
MAILTO="通知先メールアドレス"

REF="$1"
OLD="$2"
NEW="$3"
BR=${REF##refs/heads/}
${BR:="master"}

TITLE=`git show "--pretty=format:[${REPO}:${BR}] \"%s\" by %cn #%h" $NEW|head -1`
git show $NEW | mail -s "$TITLE" $MAILTO