1
0
Fork 0
mirror of https://github.com/git/git.git synced 2024-11-17 22:44:49 +01:00

Merge branch 'ew/pretty-fmt' into next

* ew/pretty-fmt:
  commit: allow --pretty= args to be abbreviated

Conflicts:

	commit.c - adjust to --pretty=email
This commit is contained in:
Junio C Hamano 2006-05-17 03:04:14 -07:00
commit aedb8995f8

View file

@ -22,25 +22,34 @@ struct sort_node
const char *commit_type = "commit"; const char *commit_type = "commit";
struct cmt_fmt_map {
const char *n;
size_t cmp_len;
enum cmit_fmt v;
} cmt_fmts[] = {
{ "raw", 1, CMIT_FMT_RAW },
{ "medium", 1, CMIT_FMT_MEDIUM },
{ "short", 1, CMIT_FMT_SHORT },
{ "email", 1, CMIT_FMT_EMAIL },
{ "full", 5, CMIT_FMT_FULL },
{ "fuller", 5, CMIT_FMT_FULLER },
{ "oneline", 1, CMIT_FMT_ONELINE },
};
enum cmit_fmt get_commit_format(const char *arg) enum cmit_fmt get_commit_format(const char *arg)
{ {
if (!*arg) int i;
if (!arg || !*arg)
return CMIT_FMT_DEFAULT; return CMIT_FMT_DEFAULT;
if (!strcmp(arg, "=raw")) if (*arg == '=')
return CMIT_FMT_RAW; arg++;
if (!strcmp(arg, "=medium")) for (i = 0; i < ARRAY_SIZE(cmt_fmts); i++) {
return CMIT_FMT_MEDIUM; if (!strncmp(arg, cmt_fmts[i].n, cmt_fmts[i].cmp_len))
if (!strcmp(arg, "=short")) return cmt_fmts[i].v;
return CMIT_FMT_SHORT; }
if (!strcmp(arg, "=full"))
return CMIT_FMT_FULL; die("invalid --pretty format: %s", arg);
if (!strcmp(arg, "=fuller"))
return CMIT_FMT_FULLER;
if (!strcmp(arg, "=email"))
return CMIT_FMT_EMAIL;
if (!strcmp(arg, "=oneline"))
return CMIT_FMT_ONELINE;
die("invalid --pretty format");
} }
static struct commit *check_commit(struct object *obj, static struct commit *check_commit(struct object *obj,