#!/bin/sh setglobal USAGE = '''' setglobal SUBDIRECTORY_OK = ''Yes'' source git-sh-setup setglobal verbose = '' while test $# != 0 { match $1 { with -v|--v|--ve|--ver|--verb|--verbo|--verbos|--verbose setglobal verbose = 't' with * break } shift } if test "$Argc" != "1" { usage } setglobal type = $[git cat-file -t $1 !2 >/dev/null] || die "$1: no such object." test $type = tag || die "$1: cannot verify a non-tag object of type $type." match $verbose { with t git cat-file -p $1 | sed -n -e '/^-----BEGIN PGP SIGNATURE-----/q' -e p } trap 'rm -f "$GIT_DIR/.tmp-vtag"' 0 git cat-file tag $1 >"$GIT_DIR/.tmp-vtag" || exit 1 sed -n -e ' /^-----BEGIN PGP SIGNATURE-----$/q p ' <"$GIT_DIR/.tmp-vtag" | gpg --verify "$GIT_DIR/.tmp-vtag" - || exit 1 rm -f "$GIT_DIR/.tmp-vtag"