タグは他のタグと同じように(コミットのように)参照です。タグが受信後フック
を使用してリポジトリにプッシュされると、そのフックが呼び出され、更新されたすべての参照が一覧表示されます。これは、名前に加えて、すべての参照の新旧両方の値です(標準入力)。
たとえば、このサーバーの受信後の電子メールフックを参照してください。
#!/bin/bash
. $(dirname $0)/functions
process_ref() {
oldrev=$(git rev-parse $1)
newrev=$(git rev-parse $2)
refname="$3"
set_change_type
set_rev_types
set_describe_tags
case "$refname","$rev_type" in
refs/tags/*,tag)
# annotated tag
refname_type="annotated tag"
function="atag"
short_refname=${refname##refs/tags/}
# change recipients
if [ -n "$announcerecipients" ]; then
recipients="$announcerecipients"
fi
;;
esac
}
while read REF; do process_ref $REF; done
これを機能させるには、前述のフックリポジトリの例から関数ファイルをインストールする必要もあります。