Re: [RFC/PATCH] revision.c: add --format option for 'git log'
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:46:15
Felipe Contreras [off-list ref] writes:
--format=:foo is a shorthand for --pretty=tformat:foo, otherwise this new option acts just like --pretty=foo, except it's more intuitive for users of 'git log'.
It's been quite a long time since the earlier discussion, but I wonder why you need the colon before "foo" for this new shorthand. I *think* you are also introducing "--format=short" as a synonym to "--pretty=short", but I do not think it is necessary.
As discussed in the mailing list, this is implemented as an undocumented option.
Maybe somebody wants to document it. Needs trivial tests.
+ } else if (!prefixcmp(arg, "--format=")) {
+ char *modified = NULL;
+ revs->verbose_header = 1;
+ if (arg[9] == ':') {
+ modified = xmalloc(strlen(arg+9) + 7 + 1);
+ strcpy(modified, "tformat");
+ strcat(modified, arg+9);
+ }
+ get_commit_format(modified ? modified : arg+9, revs);
+ free(modified);
struct strbuf fmt = STRBUF_INIT;
revs->verbose_header = 1;
strbuf_addf(&fmt, "tformat:%s", arg + 9);
get_commit_format(fmt.buf, revs);
strbuf_release(&fmt);
} else if (!strcmp(arg, "--graph")) {
revs->topo_order = 1;
revs->rewrite_parents = 1;
--
1.6.1.3