All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: "Michał Górny" <mgorny@gentoo.org>
Cc: git@vger.kernel.org
Subject: Re: More formatting with 'git tag -l'
Date: Mon, 29 Aug 2011 15:36:58 -0400	[thread overview]
Message-ID: <20110829193658.GG756@sigill.intra.peff.net> (raw)
In-Reply-To: <20110829211018.2ce4ebab@pomiocik.lan>

On Mon, Aug 29, 2011 at 09:10:18PM +0200, Michał Górny wrote:

> Would it be feasible to add more formatting options to 'git tag -l'.
> Right now, it's just '-n' but if more formatting options were added,
> I think I could use annotated tags as a nice source for autogenerated
> 'NEWS' file.
> 
> What I am most concerned about is the date of last commit contained
> in the tag. Having an option to format each printed tag and use that
> information along with tag details in a format string (like the one
> used by 'git log') would be great.

You can do something similar with 'git for-each-ref', which is probably
what you should be using if you are scripting, anyway (as it is
"plumbing" and guaranteed not to change in future releases). Something
like:

  FORMAT='%(refname:short)
  %(taggerdate)
  %(subject)'
  git for-each-ref --format="$FORMAT" refs/tags/

If you want to do more complex things, try the "--shell" option (or
--perl, --python, etc), which makes it easy to write little scriptlets
in your format, like:

  FORMAT='
    REF=%(refname:short)
    TDATE=%(taggerdate)
    CDATE=%(committerdate)
    if test -z "$TDATE"; then
      echo "$REF: unannotated tag, commit date is $CDATE"
    else
      echo "$REF: annotated tag, tag date is $TDATE"
    fi
  '
  git for-each-ref --shell --format="$FORMAT" refs/tags/ | sh

See "git help for-each-ref" for more discussion and examples.

-Peff

  reply	other threads:[~2011-08-29 19:37 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-29 19:10 More formatting with 'git tag -l' Michał Górny
2011-08-29 19:36 ` Jeff King [this message]
2011-08-29 21:20   ` Michał Górny
2011-08-29 21:37     ` Jeff King
2011-08-29 21:50       ` Michał Górny
2011-08-30  8:57       ` [PATCH] git-for-each-ref: move GPG sigs off %(body) to %(signature) Michał Górny
2011-08-30  9:43         ` Michael J Gruber
2011-08-30 15:58           ` Michał Górny
2011-08-30 16:27           ` Jeff King
2011-08-31  9:11           ` [PATCH] for-each-ref: add split message parts to %(contents:*) Michał Górny
2011-08-31 16:42             ` Jeff King
2011-08-31 16:44               ` [PATCH 1/2] t7004: factor out gpg setup Jeff King
2011-08-31 16:44               ` [PATCH 2/2] t6300: test new content:* for-each-ref placeholders Jeff King
2011-08-31 22:54             ` [PATCH] for-each-ref: add split message parts to %(contents:*) Junio C Hamano
2011-08-31 23:22               ` Jeff King
2011-09-01  7:34                 ` Michał Górny
2011-09-01 16:00                   ` Junio C Hamano
2011-09-01 16:22                     ` Jeff King
2011-09-01 16:48                       ` Michał Górny
2011-09-01 16:50                         ` Michał Górny
2011-09-02 16:39                           ` Jeff King
2011-09-02 17:39                             ` Michał Górny
2011-09-02 17:53                               ` Jeff King
2011-09-07 17:40                                 ` Jeff King
2011-09-15  8:18                                   ` Michał Górny
2011-09-07 17:42                                 ` [PATCH 1/5] t7004: factor out gpg setup Jeff King
2011-09-07 17:43                                 ` [PATCH 2/5] t6300: add more body-parsing tests Jeff King
2011-09-07 17:44                                 ` [PATCH 3/5] for-each-ref: refactor subject and body placeholder parsing Jeff King
2011-09-07 17:44                                 ` [PATCH 4/5] for-each-ref: handle multiline subjects like --pretty Jeff King
2011-09-07 17:46                                 ` [PATCH 5/5] for-each-ref: add split message parts to %(contents:*) Jeff King
2011-09-01 17:16                       ` [PATCH] " Junio C Hamano
2011-09-01 18:19                         ` Jeff King

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20110829193658.GG756@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=mgorny@gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.