diff options
author | Junio C Hamano <gitster@pobox.com> | 2011-05-04 14:57:33 -0700 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2011-05-04 14:57:33 -0700 |
commit | f6bfe767149c15b359106cb9f138853be3c14667 (patch) | |
tree | 17428de7a9e4a1b904f727826b6c2c4f643e79a0 /builtin | |
parent | 0752000c2af829a1d220b9eb51b3fad331bc0038 (diff) | |
parent | 4b56cf58a9ee684d47e01d815eccd75252d61da5 (diff) | |
download | git-f6bfe767149c15b359106cb9f138853be3c14667.tar.gz git-f6bfe767149c15b359106cb9f138853be3c14667.tar.xz |
Merge branch 'mg/reflog-with-options' into maint
* mg/reflog-with-options:
reflog: fix overriding of command line options
t/t1411: test reflog with formats
builtin/log.c: separate default and setup of cmd_log_init()
Diffstat (limited to 'builtin')
-rw-r--r-- | builtin/log.c | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/builtin/log.c b/builtin/log.c index 9db43edb0..916019c63 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -49,13 +49,8 @@ static int parse_decoration_style(const char *var, const char *value) return -1; } -static void cmd_log_init(int argc, const char **argv, const char *prefix, - struct rev_info *rev, struct setup_revision_opt *opt) +static void cmd_log_init_defaults(struct rev_info *rev) { - int i; - int decoration_given = 0; - struct userformat_want w; - rev->abbrev = DEFAULT_ABBREV; rev->commit_format = CMIT_FMT_DEFAULT; if (fmt_pretty) @@ -68,7 +63,14 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix, if (default_date_mode) rev->date_mode = parse_date_format(default_date_mode); +} +static void cmd_log_init_finish(int argc, const char **argv, const char *prefix, + struct rev_info *rev, struct setup_revision_opt *opt) +{ + int i; + int decoration_given = 0; + struct userformat_want w; /* * Check for -h before setup_revisions(), or "git log -h" will * fail when run without a git directory. @@ -128,6 +130,13 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix, setup_pager(); } +static void cmd_log_init(int argc, const char **argv, const char *prefix, + struct rev_info *rev, struct setup_revision_opt *opt) +{ + cmd_log_init_defaults(rev); + cmd_log_init_finish(argc, argv, prefix, rev, opt); +} + /* * This gives a rough estimate for how many commits we * will print out in the list. @@ -486,16 +495,11 @@ int cmd_log_reflog(int argc, const char **argv, const char *prefix) rev.verbose_header = 1; memset(&opt, 0, sizeof(opt)); opt.def = "HEAD"; - cmd_log_init(argc, argv, prefix, &rev, &opt); - - /* - * This means that we override whatever commit format the user gave - * on the cmd line. Sad, but cmd_log_init() currently doesn't - * allow us to set a different default. - */ + cmd_log_init_defaults(&rev); rev.commit_format = CMIT_FMT_ONELINE; rev.use_terminator = 1; rev.always_show_header = 1; + cmd_log_init_finish(argc, argv, prefix, &rev, &opt); return cmd_log_walk(&rev); } |