git/git-verify-tag.sh
Paolo 'Blaisorblade' Giarrusso 5a6850e8aa Fix git-verify-tag for light-weight tags
It currently exits printing "git-cat-file SHA1: bad file", while
instead we must just abort the verification for light-weight
tags (e.g. referring to commit objects).

[jc: tag objects can tag anything not just commits, so I fixed
 up the original patch slightly.  you should be able to validate
 a signed tag that points at a blob object. ]

Signed-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>
Signed-off-by: Junio C Hamano <junkio@cox.net>
2005-10-09 16:50:34 -07:00

13 lines
344 B
Bash
Executable File

#!/bin/sh
. git-sh-setup || die "Not a git archive"
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."
git-cat-file tag "$1" > .tmp-vtag || exit 1
cat .tmp-vtag | sed '/-----BEGIN PGP/Q' | gpg --verify .tmp-vtag - || exit 1
rm -f .tmp-vtag