From: Will Palmer <wmpalmer@gmail.com>
To: git@vger.kernel.org
Cc: Junio C Hamano <gitster@pobox.com>, Jeff King <peff@peff.net>,
Will Palmer <wmpalmer@gmail.com>
Subject: [PATCH/RFC 0/9] add long forms for format placeholders
Date: Tue, 29 Mar 2011 00:17:22 +0100 [thread overview]
Message-ID: <1301354251-23380-1-git-send-email-wmpalmer@gmail.com> (raw)
I've been kicking around this series for a while now as part of a larger
effort of refactoring the pretty formats. A recent discussion on the
list has lead me to believe that this smaller subset may be of use
sooner, rather than later.
This series attempts to add "long forms" for common format placeholders
in the "git log" family of commands, making the way for yet more
placeholders to be added without needing to worry too much about the
increasingly limited set of available one-letter mnemonics. It also
moves towards the possibility of eventual unification with the format
options in for-each-ref.
For example: after this series, in place of %ad, %at, etc you would be
able to use %(authordate), %(authordate:unix), etc.
There are some changes in this series which may not seem justified at
this point, most noticeably the splitting of user-defined format
processing into separate "parse" and "format" stages. This is done to
allow for more-complicated formats to be defined, especially conditional
formats. Examples of these are not yet included in this series, because
this series only includes those parts related to allowing for the
"long form" placeholders. If this series needs to go through a few
cycles before it's ready for inclusion, examples more-complicated
formats may find their way into the series.
The primary purpose of the series is to allow new placeholders to be
defined without worrying about the increasingly diminishing set of
available one-or-two-letter mnemonics.
Cc: Jeff King <peff@peff.net>
Cc: Junio C Hamano <gitster@pobox.com>
Will Palmer (9):
mention --date=raw in rev-list and blame help
add support for --date=unix to complement %at
interpret %C(invalid) as we would %%C(invalid)
add sanity length check to format_person_part
refactor pretty.c into "parse" and "format" steps
add long-form %(wrap:...) for %w(...)
add long form %(color:...) for %C(...)
add long forms %(authordate) and %(committerdate)
add long forms for author and committer identity
.gitignore | 1 +
Documentation/blame-options.txt | 4 +-
Documentation/git-rev-list.txt | 2 +-
Documentation/pretty-formats.txt | 51 ++-
Documentation/rev-list-options.txt | 4 +-
Makefile | 1 +
builtin/blame.c | 3 +
cache.h | 5 +-
color.c | 17 +-
color.h | 1 +
commit.h | 84 ++++
date.c | 61 ++-
pretty.c | 947 +++++++++++++++++++++++++++---------
test-pretty.c | 250 ++++++++++
14 files changed, 1164 insertions(+), 267 deletions(-)
create mode 100644 test-pretty.c
--
1.7.4.2
next reply other threads:[~2011-03-28 23:17 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-28 23:17 Will Palmer [this message]
2011-03-28 23:17 ` [PATCH/RFC 1/9] mention --date=raw in rev-list and blame help Will Palmer
2011-03-28 23:17 ` [PATCH/RFC 2/9] add support for --date=unix to complement %at Will Palmer
2011-03-28 23:17 ` [PATCH/RFC 3/9] interpret %C(invalid) as we would %%C(invalid) Will Palmer
2011-03-28 23:17 ` [PATCH/RFC 4/9] add sanity length check to format_person_part Will Palmer
2011-03-28 23:17 ` [PATCH/RFC 5/9] refactor pretty.c into "parse" and "format" steps Will Palmer
2011-03-28 23:17 ` [PATCH/RFC 6/9] add long-form %(wrap:...) for %w(...) Will Palmer
2011-03-28 23:17 ` [PATCH/RFC 7/9] add long form %(color:...) for %C(...) Will Palmer
2011-03-28 23:17 ` [PATCH/RFC 8/9] add long forms %(authordate) and %(committerdate) Will Palmer
2011-03-28 23:17 ` [PATCH/RFC 9/9] add long forms for author and committer identity Will Palmer
2011-03-29 0:28 ` [PATCH/RFC 0/9] add long forms for format placeholders Junio C Hamano
2011-03-29 6:44 ` Will Palmer
2011-03-29 6:46 ` Michael J Gruber
2011-03-29 7:27 ` Will Palmer
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=1301354251-23380-1-git-send-email-wmpalmer@gmail.com \
--to=wmpalmer@gmail.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
/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).