{"thread":{"id":"1457","subject":"git tag can't take piped input?","startedAt":"2005-08-09T00:04:42Z","lastAt":"2005-08-10T18:06:29Z","messageCount":2,"participants":["Chris Wright"],"isPatch":false,"patchVersion":null,"patchTotal":null},"messages":[{"id":"6968","messageId":"20050809000442.GD8041@shell0.pdx.osdl.net","threadId":"1457","inReplyTo":null,"subject":"git tag can't take piped input?","fromName":"Chris Wright","fromEmail":"chrisw@osdl.org","sentAt":"2005-08-09T00:04:42Z","receivedAt":"2005-08-09T00:04:42Z","isPatch":false,"sender":{"key":"chrisw@sous-sol.org","avatar":null},"body":"Apparently I was under a rock sleeping when git-tag-script changed to no\nlonger take input from stdin.  So my script which did:\n\nTAG=$(echo \"$TAG_MSG\" | git-tag-script $RELEASE)\necho $TAG > .git/refs/tags/$RELEASE\n\nIs broken in two ways.  First it's no longer building an annotated tag,\nsecond it creaets a zero length file .git/refs/tags/$RELEASE.  Second\nissue is trivial to fix in my script. First one needs some change in the\ntag script.  Below is a simple patch for a stab at fixing.\n\n\nthanks,\n-chris\n--\n\n\nAllow users to create a tag message by passing message on command line\ninstead of requiring an $EDITOR session.\n\nSigned-off-by: Chris Wright <chrisw@osdl.org>\n---\n\ndiff --git a/git-tag-script b/git-tag-script\n--- a/git-tag-script\n+++ b/git-tag-script\n@@ -4,13 +4,14 @@\n . git-sh-setup-script || die \"Not a git archive\"\n \n usage () {\n-    echo >&2 \"Usage: git-tag-script [-a | -s] [-f] tagname\"\n+    echo >&2 \"Usage: git-tag-script [-a | -s] [-f] [-m \"tag message\"] tagname\"\n     exit 1\n }\n \n annotate=\n signed=\n force=\n+message=\n while case \"$#\" in 0) break ;; esac\n do\n     case \"$1\" in\n@@ -24,6 +25,11 @@ do\n     -f)\n \tforce=1\n \t;;\n+    -m)\n+    \tannotate=1\n+\tshift\n+\tmessage=\"$1\"\n+\t;;\n     -*)\n         usage\n \t;;\n@@ -48,10 +54,14 @@ tagger=$(git-var GIT_COMMITTER_IDENT) ||\n trap 'rm -f .tmp-tag* .tagmsg .editmsg' 0\n \n if [ \"$annotate\" ]; then\n-    ( echo \"#\"\n-      echo \"# Write a tag message\"\n-      echo \"#\" ) > .editmsg\n-    ${VISUAL:-${EDITOR:-vi}} .editmsg || exit\n+    if [ -z \"$message\" ]; then\n+        ( echo \"#\"\n+          echo \"# Write a tag message\"\n+          echo \"#\" ) > .editmsg\n+        ${VISUAL:-${EDITOR:-vi}} .editmsg || exit\n+    else\n+        echo \"$message\" > .editmsg\n+    fi\n \n     grep -v '^#' < .editmsg | git-stripspace > .tagmsg\n \n"},{"id":"7033","messageId":"20050810180629.GG8041@shell0.pdx.osdl.net","threadId":"1457","inReplyTo":"20050809000442.GD8041@shell0.pdx.osdl.net","subject":"[PATCH] git-tag-script tag message commandline option","fromName":"Chris Wright","fromEmail":"chrisw@osdl.org","sentAt":"2005-08-10T18:06:29Z","receivedAt":"2005-08-10T18:06:29Z","isPatch":true,"sender":{"key":"chrisw@sous-sol.org","avatar":null},"body":"[resend more clearly identified as patch]\n\nApparently I was under a rock sleeping when git-tag-script changed to no\nlonger take input from stdin.  So my script which did:\n\nTAG=$(echo \"$TAG_MSG\" | git-tag-script $RELEASE)\necho $TAG > .git/refs/tags/$RELEASE\n\nIs broken in two ways.  First it's no longer building an annotated tag,\nsecond it creaets a zero length file .git/refs/tags/$RELEASE.  Second\nissue is trivial to fix in my script. First one needs some change in the\ntag script.  Below is a simple patch for a stab at fixing.  Thoughts?\n\n\nthanks,\n-chris\n--\n\n\nAllow users to create a tag message by passing message on command line\ninstead of requiring an $EDITOR session.\n\nSigned-off-by: Chris Wright <chrisw@osdl.org>\n---\n\ndiff --git a/git-tag-script b/git-tag-script\n--- a/git-tag-script\n+++ b/git-tag-script\n@@ -4,13 +4,14 @@\n . git-sh-setup-script || die \"Not a git archive\"\n \n usage () {\n-    echo >&2 \"Usage: git-tag-script [-a | -s] [-f] tagname\"\n+    echo >&2 \"Usage: git-tag-script [-a | -s] [-f] [-m \"tag message\"] tagname\"\n     exit 1\n }\n \n annotate=\n signed=\n force=\n+message=\n while case \"$#\" in 0) break ;; esac\n do\n     case \"$1\" in\n@@ -24,6 +25,11 @@ do\n     -f)\n \tforce=1\n \t;;\n+    -m)\n+    \tannotate=1\n+\tshift\n+\tmessage=\"$1\"\n+\t;;\n     -*)\n         usage\n \t;;\n@@ -48,10 +54,14 @@ tagger=$(git-var GIT_COMMITTER_IDENT) ||\n trap 'rm -f .tmp-tag* .tagmsg .editmsg' 0\n \n if [ \"$annotate\" ]; then\n-    ( echo \"#\"\n-      echo \"# Write a tag message\"\n-      echo \"#\" ) > .editmsg\n-    ${VISUAL:-${EDITOR:-vi}} .editmsg || exit\n+    if [ -z \"$message\" ]; then\n+        ( echo \"#\"\n+          echo \"# Write a tag message\"\n+          echo \"#\" ) > .editmsg\n+        ${VISUAL:-${EDITOR:-vi}} .editmsg || exit\n+    else\n+        echo \"$message\" > .editmsg\n+    fi\n \n     grep -v '^#' < .editmsg | git-stripspace > .tagmsg\n \n"}]}