Give short-hands to --pretty=tformat:%formatstring
Allow --pretty="%h %s" (and --format="%h %s") as shorthand for an often used option --pretty=tformat:"%h %s". Signed-off-by: Nanako Shiraishi <nanako3@lavabit.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
3a4c1a5e21
commit
36407548a2
@ -152,3 +152,12 @@ $ git log -2 --pretty=tformat:%h 4da45bef \
|
||||
4da45be
|
||||
7134973
|
||||
---------------------
|
||||
+
|
||||
In addition, any unrecognized string that has a `%` in it is interpreted
|
||||
as if it has `tformat:` in front of it. For example, these two are
|
||||
equivalent:
|
||||
+
|
||||
---------------------
|
||||
$ git log -2 --pretty=tformat:%h 4da45bef
|
||||
$ git log -2 --pretty=%h 4da45bef
|
||||
---------------------
|
||||
|
20
pretty.c
20
pretty.c
@ -10,6 +10,15 @@
|
||||
|
||||
static char *user_format;
|
||||
|
||||
static void save_user_format(struct rev_info *rev, const char *cp, int is_tformat)
|
||||
{
|
||||
free(user_format);
|
||||
user_format = xstrdup(cp);
|
||||
if (is_tformat)
|
||||
rev->use_terminator = 1;
|
||||
rev->commit_format = CMIT_FMT_USERFORMAT;
|
||||
}
|
||||
|
||||
void get_commit_format(const char *arg, struct rev_info *rev)
|
||||
{
|
||||
int i;
|
||||
@ -33,12 +42,7 @@ void get_commit_format(const char *arg, struct rev_info *rev)
|
||||
return;
|
||||
}
|
||||
if (!prefixcmp(arg, "format:") || !prefixcmp(arg, "tformat:")) {
|
||||
const char *cp = strchr(arg, ':') + 1;
|
||||
free(user_format);
|
||||
user_format = xstrdup(cp);
|
||||
if (arg[0] == 't')
|
||||
rev->use_terminator = 1;
|
||||
rev->commit_format = CMIT_FMT_USERFORMAT;
|
||||
save_user_format(rev, strchr(arg, ':') + 1, arg[0] == 't');
|
||||
return;
|
||||
}
|
||||
for (i = 0; i < ARRAY_SIZE(cmt_fmts); i++) {
|
||||
@ -50,6 +54,10 @@ void get_commit_format(const char *arg, struct rev_info *rev)
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (strchr(arg, '%')) {
|
||||
save_user_format(rev, arg, 1);
|
||||
return;
|
||||
}
|
||||
|
||||
die("invalid --pretty format: %s", arg);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user