Re: [PATCH] Add a --dateformat= option to git-for-each-ref
- From
Jeff King <peff@peff.net>
- Date
- Sep 26, 2007, 12:58 UTC
- Message-ID
- <20070926125811.GC13739@coredump.intra.peff.net>
- In-Reply-To
- <200709261009.18777.andyparkins@gmail.com>
On Wed, Sep 26, 2007 at 10:09:18AM +0100, Andy Parkins wrote:
Show 6 quoted lines
> For example (I'm in BST, +0100 at present): > > $ git-for-each-ref --dateformat=normal --format='%(taggerdate)' refs/tags/v1.5.2 > Sun May 20 00:30:42 2007 -0700 > $ git-for-each-ref --dateformat=relative --format='%(taggerdate)' refs/tags/v1.5.2 > 4 months ago
What if you want a format that contains two dates in different formats? Something like:
$ git-for-each-ref --format='%(committerdate:relative) %(authordate:normal)'
would be more flexible. Although perhaps that is a bit too unlikely to be concerned with implementing, giving options to substitutions seems like a sane way to implement these sorts of things (e.g., "%(objectsize:human)", "%(parent:1)", etc).
Show 15 quoted lines
> + if (!prefixcmp(arg, "--dateformat=")) {
> + arg += 13;
> + if (!prefixcmp(arg,"relative")) {
> + date_mode = DATE_RELATIVE;
> + } else if (!prefixcmp(arg,"short")) {
> + date_mode = DATE_SHORT;
> + } else if (!prefixcmp(arg,"local")) {
> + date_mode = DATE_LOCAL;
> + } else if (!prefixcmp(arg,"iso8601")) {
> + date_mode = DATE_ISO8601;
> + } else if (!prefixcmp(arg,"rfc2822")) {
> + date_mode = DATE_RFC2822;
> + }
> + continue;
> + }Surely this same code exists elsewhere, and could be easily factored out into a parse_date_type function.
-Peff