{"thread":{"id":"8397","subject":"[PATCH] Add option -L to git-tag.","startedAt":"2007-06-02T13:10:48Z","lastAt":"2007-06-02T14:49:07Z","messageCount":2,"participants":["Matthijs Melchior","Frank Lichtenheld"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"43803","messageId":"1180789848873-git-send-email-mmelchior@xs4all.nl","threadId":"8397","inReplyTo":null,"subject":"[PATCH] Add option -L to git-tag.","fromName":"Matthijs Melchior","fromEmail":"mmelchior@xs4all.nl","sentAt":"2007-06-02T13:10:48Z","receivedAt":"2007-06-02T13:10:48Z","isPatch":true,"sender":{"key":"mmelchior@xs4all.nl","avatar":null},"body":"  This will list the selected tags and include annotations, if any.\n\nSigned-off-by: Matthijs Melchior <mmelchior@xs4all.nl>\n---\n\nVersion 2 of the git-tag -L patch.\n  It implements better style,\n   a new --pretty=n option and\n   an interresting exit code.\n\n  -Matthijs\n\n Documentation/git-tag.txt |    5 ++++-\n git-tag.sh                |   24 +++++++++++++++++-------\n 2 files changed, 21 insertions(+), 8 deletions(-)\n\ndiff --git a/Documentation/git-tag.txt b/Documentation/git-tag.txt\nindex 4e3e027..441f361 100644\n--- a/Documentation/git-tag.txt\n+++ b/Documentation/git-tag.txt\n@@ -11,7 +11,7 @@ SYNOPSIS\n [verse]\n 'git-tag' [-a | -s | -u <key-id>] [-f] [-m <msg> | -F <file>]  <name> [<head>]\n 'git-tag' -d <name>...\n-'git-tag' -l [<pattern>]\n+'git-tag' [-l | -L] [<pattern>]\n 'git-tag' -v <name>\n \n DESCRIPTION\n@@ -41,6 +41,9 @@ GnuPG key for signing.\n `-l <pattern>` lists tags that match the given pattern (or all\n if no pattern is given).\n \n+`-L <pattern>` lists tags, including their annotations, that match\n+the given pattern (or all if no pattern is given).\n+\n OPTIONS\n -------\n -a::\ndiff --git a/git-tag.sh b/git-tag.sh\nindex 6f0b7a7..45c4253 100755\n--- a/git-tag.sh\n+++ b/git-tag.sh\n@@ -1,7 +1,7 @@\n #!/bin/sh\n # Copyright (c) 2005 Linus Torvalds\n \n-USAGE='-l [<pattern>] | [-a | -s | -u <key-id>] [-f | -d | -v] [-m <msg>] <tagname> [<head>]'\n+USAGE='[-l | -L] [<pattern>] | [-a | -s | -u <key-id>] [-f | -d | -v] [-m <msg>] <tagname> [<head>]'\n SUBDIRECTORY_OK='Yes'\n . git-sh-setup\n \n@@ -26,13 +26,23 @@ do\n     -f)\n \tforce=1\n \t;;\n-    -l)\n-\tcase \"$#\" in\n-\t1)\n-\t\tset x . ;;\n-\tesac\n+    -l|-L)\n+\tTAGSONLY=true\n+\t[ \"$1\" = -L ] && TAGSONLY=false\n+\t[ \"$#\" = 1 ] && set x .\n \tshift\n-\tgit rev-parse --symbolic --tags | sort | grep \"$@\"\n+\tgit rev-parse --symbolic --tags | grep \"$@\" |\n+\t    while read TAG\n+\t    do\n+\t\techo \"$TAG\"\n+\t\t$TAGSONLY && continue\n+\t\tOBJTYPE=$(git cat-file -t \"$TAG\")\n+\t\tcase $OBJTYPE in\n+\t\t    tag)    git cat-file $OBJTYPE \"$TAG\" |\n+\t\t\t\tsed '1,/^$/d;/^-----BEGIN PGP SIGNATURE-----$/Q;s/^/    /'\n+\t\t\t    ;;\n+\t\tesac\n+\t    done\n \texit $?\n \t;;\n     -m)\n-- \n1.5.2\n\n\n>From f0123e2f1c4bd8a15e8d190dc1e0c2745db60278 Mon Sep 17 00:00:00 2001\nFrom: Matthijs Melchior <mmelchior@xs4all.nl>\nDate: Sat, 2 Jun 2007 15:04:46 +0200\nSubject: [PATCH] git-tag -L, version 2\n\tstyle. --pretty=n and exit code\n---\n git-tag.sh |   20 +++++++++++++++-----\n 1 files changed, 15 insertions(+), 5 deletions(-)\n\ndiff --git a/git-tag.sh b/git-tag.sh\nindex 45c4253..dafa083 100755\n--- a/git-tag.sh\n+++ b/git-tag.sh\n@@ -13,6 +13,7 @@ message=\n username=\n list=\n verify=\n+LINES=3\n while case \"$#\" in 0) break ;; esac\n do\n     case \"$1\" in\n@@ -26,24 +27,33 @@ do\n     -f)\n \tforce=1\n \t;;\n+    --pretty=*)\n+\tLINES=$(expr \"$1\" : '--pretty=\\(.*\\)')\n+\t;;\n     -l|-L)\n \tTAGSONLY=true\n \t[ \"$1\" = -L ] && TAGSONLY=false\n \t[ \"$#\" = 1 ] && set x .\n \tshift\n-\tgit rev-parse --symbolic --tags | grep \"$@\" |\n+\t[ \"$LINES\" -le 0 ] && LINES=999999\n+\tTAGLIST=$(git rev-parse --symbolic --tags | grep \"$@\")\n+\tRC=$?\t\t\t# from grep\n+\tprintf \"%s\" \"$TAGLIST\" |\n \t    while read TAG\n \t    do\n \t\techo \"$TAG\"\n \t\t$TAGSONLY && continue\n \t\tOBJTYPE=$(git cat-file -t \"$TAG\")\n \t\tcase $OBJTYPE in\n-\t\t    tag)    git cat-file $OBJTYPE \"$TAG\" |\n-\t\t\t\tsed '1,/^$/d;/^-----BEGIN PGP SIGNATURE-----$/Q;s/^/    /'\n-\t\t\t    ;;\n+\t\ttag)\tgit cat-file tag \"$TAG\" |\n+\t\t\t  sed -e '1,/^$/d' \\\n+\t\t\t      -e '/^-----BEGIN PGP SIGNATURE-----$/Q' \\\n+\t\t\t      -e 's/^/    /' |\n+\t\t\t  sed -e \"${LINES}q\"\n+\t\t\t;;\n \t\tesac\n \t    done\n-\texit $?\n+\texit $RC\n \t;;\n     -m)\n     \tannotate=1\n-- \n1.5.2\n"},{"id":"43805","messageId":"20070602144906.GB29603@planck.djpig.de","threadId":"8397","inReplyTo":"1180789848873-git-send-email-mmelchior@xs4all.nl","subject":"Re: [PATCH] Add option -L to git-tag.","fromName":"Frank Lichtenheld","fromEmail":"frank@lichtenheld.de","sentAt":"2007-06-02T14:49:07Z","receivedAt":"2007-06-02T14:49:07Z","isPatch":true,"sender":{"key":"frank@lichtenheld.de","avatar":"https://gravatar.com/avatar/b9f1d4b120e138f157c9e480d0818197c474628923786adb98f30017cdb99c3c?d=mp&s=160"},"body":"On Sat, Jun 02, 2007 at 03:10:48PM +0200, Matthijs Melchior wrote:\n> +`-L <pattern>` lists tags, including their annotations, that match\n> +the given pattern (or all if no pattern is given).\n\n>From the descriptions it is not clear to me if the pattern is applied to\nthe tag names, the annotations or both. Maybe one could reorder that\nsentence to make it less confusing?\n\nGruesse,\n-- \nFrank Lichtenheld <frank@lichtenheld.de>\nwww: http://www.djpig.de/\n"}]}