diff options
author | Junio C Hamano <gitster@pobox.com> | 2008-04-07 17:11:34 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2008-04-10 03:25:03 -0700 |
commit | 4da45bef56e1547eb6525015ada0fdfc01d8295b (patch) | |
tree | 4af8e1a09c9f98ec9473ae466374076e3e7dd3cf /builtin-log.c | |
parent | 71349732c53a4c1b64729628b04db7b3c3f7606d (diff) | |
download | git-4da45bef56e1547eb6525015ada0fdfc01d8295b.tar.gz |
log: teach "terminator" vs "separator" mode to "--pretty=format"
This attached patch introduces a single bit "use_terminator" in "struct
rev_info", which is normally false (i.e. most formats use separator
semantics) but by flipping it to true, you can ask for terminator
semantics just like oneline format does.
The function get_commit_format(), which is what parses "--pretty=" option,
now takes a pointer to "struct rev_info" and updates its commit_format and
use_terminator fields. It used to return the value of type "enum
cmit_fmt", but all the callers assigned it to rev->commit_format.
There are only two cases the code turns use_terminator on. Obviously, the
traditional oneline format (--pretty=oneline) is one of them, and the new
case is --pretty=tformat:... that acts like --pretty=format:... but flips
the bit on.
With this, "--pretty=tformat:%H %s" acts like --pretty=oneline.
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'builtin-log.c')
-rw-r--r-- | builtin-log.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/builtin-log.c b/builtin-log.c index 5c00725f03..1670d0b334 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -56,7 +56,7 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix, rev->abbrev = DEFAULT_ABBREV; rev->commit_format = CMIT_FMT_DEFAULT; if (fmt_pretty) - rev->commit_format = get_commit_format(fmt_pretty); + get_commit_format(fmt_pretty, rev); rev->verbose_header = 1; DIFF_OPT_SET(&rev->diffopt, RECURSIVE); rev->show_root_diff = default_show_root; @@ -400,6 +400,7 @@ int cmd_log_reflog(int argc, const char **argv, const char *prefix) * allow us to set a different default. */ rev.commit_format = CMIT_FMT_ONELINE; + rev.use_terminator = 1; rev.always_show_header = 1; /* |