{"thread":{"id":"1330","subject":"[PATCH] Add -a option to get-tag-script to annotate but not sign a tag","startedAt":"2005-07-24T15:35:07Z","lastAt":"2005-07-24T15:35:07Z","messageCount":1,"participants":["A Large Angry SCM"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"6410","messageId":"42E3B52B.2030602@gmail.com","threadId":"1330","inReplyTo":null,"subject":"[PATCH] Add -a option to get-tag-script to annotate but not sign a tag","fromName":"A Large Angry SCM","fromEmail":"gitzilla@gmail.com","sentAt":"2005-07-24T15:35:07Z","receivedAt":"2005-07-24T15:35:07Z","isPatch":true,"sender":{"key":"gitzilla@gmail.com","avatar":"https://gravatar.com/avatar/354625c442439908ff3dd99757dee330e29e9df7847472384faf7a00add247fb?d=mp&s=160"},"body":"Add -a option to get-tag-script to annotate but not sign a tag\n\nAlso fix the test for an existing tag.\n\nSigned-off-by: A Large Angry SCM <gitzilla@gmail.com>\n---\n\n  git-tag-script |   21 +++++++++++++++------\n  1 files changed, 15 insertions(+), 6 deletions(-)\n\na49029e5cf9cca0c2999c0241e75789bcc38dbb5\ndiff --git a/git-tag-script b/git-tag-script\n--- a/git-tag-script\n+++ b/git-tag-script\n@@ -3,11 +3,15 @@\n\n  . git-sh-setup-script || die \"Not a git archive\"\n\n+annotate=\n  signed=\n  force=\n  while case \"$#\" in 0) break ;; esac\n  do\n      case \"$1\" in\n+    -a)\n+\tannotate=1\n+\t;;\n      -s)\n  \tsigned=1\n  \t;;\n@@ -23,15 +27,16 @@ done\n\n  name=\"$1\"\n  [ \"$name\" ] || die \"I need a tag-name\"\n-[ -e \"$GIT_DIR/refs/tags/$name\" ] &&\n-\t[ \"$force\" ] || die \"tag '$name' already exists\"\n+if [ -e \"$GIT_DIR/refs/tags/$name\" -a -z \"$force\" ]; then\n+    die \"tag '$name' already exists\"\n+fi\n  shift\n\n  object=$(git-rev-parse --verify --revs-only --default HEAD \"$@\") || exit 1\n  type=$(git-cat-file -t $object) || exit 1\n  tagger=$(git-var GIT_COMMITTER_IDENT) || exit 1\n\n-if [ \"$signed\" ]; then\n+if [ \"$annotate\" -o \"$signed\" ]; then\n      ( echo \"#\"\n        echo \"# Write a tag message\"\n        echo \"#\" ) > .editmsg\n@@ -42,10 +47,14 @@ if [ \"$signed\" ]; then\n      [ -s .tagmsg ] || exit\n\n      ( echo -e \"object $object\\ntype $type\\ntag $name\\ntagger $tagger\\n\"; cat .tagmsg ) > .tmp-tag\n-    rm -f .tmp-tag.asc .tagmsg\n-    gpg -bsa .tmp-tag && cat .tmp-tag.asc >> .tmp-tag\n+    rm -f .tagmsg\n+    if [ \"$signed\" ]; then\n+\trm -f .tmp-tag.asc\n+\tgpg -bsa .tmp-tag && cat .tmp-tag.asc >> .tmp-tag\n+\trm -f .tmp-tag.sig\n+    fi\n      object=$(git-mktag < .tmp-tag)\n-    rm -f .tmp-tag .tmp-tag.sig\n+    rm -f .tmp-tag\n  fi\n\n  mkdir -p \"$GIT_DIR/refs/tags\"\n"}]}