#!/bin/sh # # An example hook script to require all pushes be signed # ref=$1 sha1_old=$2 sha1_new=$3 if [ -d "$GIT_DIR/keyring" ]; then echo "pgp-git: using repository keyring" >&2 GNUPGHOME=$GIT_DIR/keyring export GNUPGHOME else echo "pgp-git: using default keyring" >&2 fi set -e case $ref in refs/tags/tmp/*) echo "E:Even TRYING that lark makes me ANGRY, Buster!" >&2 exit 38 ;; refs/heads/*|refs/tags/*) audit=$(echo "$ref" | sed 's!refs/!refs/tags/tmp/!') tagname=$(echo "$audit" | sed 's!refs/tags!!') git update-ref -m "update hook" \ "$audit" $sha1_new ;; *) echo "E:WHOA! Pushing to $ref?" >&2 exit 1 ;; esac trap "git-tag -d $tagname" ERR git-tag -v "$tagname"