git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: Junio C Hamano <gitster@pobox.com>
Cc: Nathan Panike <nathan.panike@gmail.com>, git@vger.kernel.org
Subject: Re: [PATCH 0/2] Use %as and %cs as pretty format flags
Date: Thu, 28 Aug 2008 19:54:21 -0400	[thread overview]
Message-ID: <20080828235420.GB30195@coredump.intra.peff.net> (raw)
In-Reply-To: <7viqtkd84s.fsf@gitster.siamese.dyndns.org>

On Thu, Aug 28, 2008 at 04:36:51PM -0700, Junio C Hamano wrote:

> I was actually thinking about rejecting this, asking for something that
> allows to express all the other %[ai][dDri] format can express, and
> perhaps more.  So I think "%ad(short)" is a good direction to go, except
> that 'd' is already taken.  Perhaps %a(date), %a(shortdate,local),...?

I was thinking we could accept %ad _or_ %ad(short), but of course
introducing the latter can break existing "%ad(my other random text)"
which is a bad idea.

I really think some consideration should be given to introducing
arbitrary "arguments" to formatting specifiers, of which this is one
example. Another that has been mentioned is pulling an arbitrary element
from a list.

How do you feel about a brand new syntax (and supporting the old, of
course) that is syntactically a little easier to extend. Like:

  %(macro, key=val, key=val)

e.g.

  %(authordate, format=short, tz=local)

where the syntax can be easily parsed without understanding what
"authordate" means.  Jakub already suggested something akin to RPM's
macro expansion, though I haven't looked too closely at it.

> Oh, and before anybody asks, even if we do %a(specifier), you can keep
> writing "%ad" if you are used to it.  I am not talking about deprecating
> the existing ones, but making future extensions easier without forcing
> people to remember cryptic one-letter format specifiers.

Yes, I don't see a need to get rid of the existing ones. Introducing a
new syntax does have the possibility of breaking existing scripts, since
we just leave unrecognized expansions in place (in fact, just adding %as
has the potential to break scripts!).

Worst case, we can introduce a --pretty=otherformat:, but I don't know
if people are really expecting "%a(blah)" to be left untouched
currently. I don't think we ever claimed that % was magical.

-Peff

  reply	other threads:[~2008-08-28 23:55 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-28 11:09 [PATCH 0/2] Use %as and %cs as pretty format flags Nathan Panike
2008-08-28 23:15 ` Jeff King
2008-08-28 23:36   ` Junio C Hamano
2008-08-28 23:54     ` Jeff King [this message]
2008-08-29  0:10       ` Nathan W. Panike
2008-08-29  0:54         ` Jeff King
2008-08-29  1:08           ` Junio C Hamano
2008-08-29  8:12       ` Jakub Narebski
2008-08-29  3:43     ` Avery Pennarun

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=20080828235420.GB30195@coredump.intra.peff.net \
    --to=peff@peff.net \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=nathan.panike@gmail.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).