[PATCH/RFC 0/9] add long forms for format placeholders

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxx>
Cc: Junio C Hamano <gitster@xxxxxxxxx>

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

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]