{"thread":{"id":"2052","subject":"[PATCH 2/2] git-verify-tag: detect wrong syntax","startedAt":"2005-10-09T18:12:47Z","lastAt":"2005-10-09T19:29:43Z","messageCount":3,"participants":["Paolo 'Blaisorblade' Giarrusso","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":2},"messages":[{"id":"9860","messageId":"20051009181246.17885.81654.stgit@zion.home.lan","threadId":"2052","inReplyTo":null,"subject":"[PATCH 1/2] Fix git-verify-tag for local tags","fromName":"Paolo 'Blaisorblade' Giarrusso","fromEmail":"blaisorblade@yahoo.it","sentAt":"2005-10-09T18:12:47Z","receivedAt":"2005-10-09T18:12:47Z","isPatch":true,"sender":{"key":"blaisorblade@yahoo.it","avatar":null},"body":"From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>\n\nIt currently exits printing \"git-cat-file SHA1: bad file\", while instead we must\njust abort the verification for local tags (i.e. referring to commit objects).\n\nSigned-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>\n---\n\n git-verify-tag.sh |    4 ++++\n 1 files changed, 4 insertions(+), 0 deletions(-)\n\ndiff --git a/git-verify-tag.sh b/git-verify-tag.sh\n--- a/git-verify-tag.sh\n+++ b/git-verify-tag.sh\n@@ -3,6 +3,10 @@\n \n tag=$(git-rev-parse $1) || exit 1\n \n+type=$(git-cat-file -t $tag) || exit 1\n+[ \"$type\" = \"commit\" ] && die \"Light tag - verification impossible\"\n+[ \"$type\" = \"tag\" ] || die \"Bad tag - SHA1 doesn't refer to a tag object nor to a commit one.\"\n+\n git-cat-file tag $tag > .tmp-vtag || exit 1\n cat .tmp-vtag | sed '/-----BEGIN PGP/Q' | gpg --verify .tmp-vtag - || exit 1\n rm -f .tmp-vtag\n"},{"id":"9859","messageId":"20051009181256.17885.6626.stgit@zion.home.lan","threadId":"2052","inReplyTo":"20051009181246.17885.81654.stgit@zion.home.lan","subject":"[PATCH 2/2] git-verify-tag: detect wrong syntax","fromName":"Paolo 'Blaisorblade' Giarrusso","fromEmail":"blaisorblade@yahoo.it","sentAt":"2005-10-09T18:12:56Z","receivedAt":"2005-10-09T18:12:56Z","isPatch":true,"sender":{"key":"blaisorblade@yahoo.it","avatar":null},"body":"From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>\n\nPrint proper error messages when failing, and handle -h/--help to avoid, if\npossible, to print double error message (from git-cat-file and from\ngit-verify-tag).\n\nSigned-off-by: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>\n---\n\n git-verify-tag.sh |    9 ++++++++-\n 1 files changed, 8 insertions(+), 1 deletions(-)\n\ndiff --git a/git-verify-tag.sh b/git-verify-tag.sh\n--- a/git-verify-tag.sh\n+++ b/git-verify-tag.sh\n@@ -1,9 +1,16 @@\n #!/bin/sh\n . git-sh-setup || die \"Not a git archive\"\n \n+usage() {\n+\tdie \"usage: git-verify-tag <tag>\"\n+}\n+\n+[ $# = 1 ] || usage\n+[ \"$1\" = \"-h\" -o \"$1\" = \"--help\" ] && usage\n+\n tag=$(git-rev-parse $1) || exit 1\n \n-type=$(git-cat-file -t $tag) || exit 1\n+type=$(git-cat-file -t $tag) || usage\n [ \"$type\" = \"commit\" ] && die \"Light tag - verification impossible\"\n [ \"$type\" = \"tag\" ] || die \"Bad tag - SHA1 doesn't refer to a tag object nor to a commit one.\"\n \n"},{"id":"9863","messageId":"7vk6gmebfc.fsf@assigned-by-dhcp.cox.net","threadId":"2052","inReplyTo":"20051009181246.17885.81654.stgit@zion.home.lan","subject":"Re: [PATCH 1/2] Fix git-verify-tag for local tags","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2005-10-09T19:29:43Z","receivedAt":"2005-10-09T19:29:43Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it> writes:\n\n> From: Paolo 'Blaisorblade' Giarrusso <blaisorblade@yahoo.it>\n>\n> It currently exits printing \"git-cat-file SHA1: bad file\", while instead we must\n> just abort the verification for local tags (i.e. referring to commit objects).\n\nGood spotting, but checking for type being not a tag (not\nlimited to commit object) would be a better approach.  I'll fix\nit up that way and apply (no need to resend).  Thanks.\n"}]}