git/git-verify-tag.sh
Junio C Hamano a0f15fa502 Pretty-print tagger dates.
We can show commit objects with human readable dates using
various --pretty options, but there was no way to do so with
tags.  This introduces two such ways:

$ git-cat-file -p v1.2.3

shows the tag object with tagger dates in human readable format.

$ git-verify-tag --verbose v1.2.3

uses it to show the contents of the tag object as well as doing
GPG verification.

Signed-off-by: Junio C Hamano <junkio@cox.net>
2006-03-01 17:06:20 -08:00

43 lines
703 B
Bash
Executable File

#!/bin/sh
USAGE='<tag>'
SUBDIRECTORY_OK='Yes'
. git-sh-setup
verbose=
while case $# in 0) break;; esac
do
case "$1" in
-v|--v|--ve|--ver|--verb|--verbo|--verbos|--verbose)
verbose=t ;;
*)
break ;;
esac
shift
done
if [ "$#" != "1" ]
then
usage
fi
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."
case "$verbose" in
t)
git-cat-file -p "$1" |
sed -n -e '/^-----BEGIN PGP SIGNATURE-----/q' -e p
;;
esac
git-cat-file tag "$1" >"$GIT_DIR/.tmp-vtag" || exit 1
cat "$GIT_DIR/.tmp-vtag" |
sed '/-----BEGIN PGP/Q' |
gpg --verify "$GIT_DIR/.tmp-vtag" - || exit 1
rm -f "$GIT_DIR/.tmp-vtag"