diff options
author | Roland Hieber <rhi@pengutronix.de> | 2019-01-30 15:23:56 +0100 |
---|---|---|
committer | Roland Hieber <rhi@pengutronix.de> | 2019-01-30 15:42:32 +0100 |
commit | 793564bf5924c5b02100d87d427d92a643d2a61a (patch) | |
tree | 2e0389e64520aa441c97ce2d4fbb78741230832a | |
parent | b5101f929789889c2e536d915698f58d5c5c6b7a (diff) | |
download | git-rhi/reflog-default-pretty.tar.gz git-rhi/reflog-default-pretty.tar.xz |
reflog: specify default pretty format in configrhi/reflog-default-pretty
The output of git-reflog is currently only customizable by calling
reflog with --pretty=... or overriding the default "oneline" pretty
format in the configuration. To save typing, teach reflog to fall back
to a default format specified in the config option "reflog.pretty"
unless a different pretty format is given on the command line. (This is
similar to the "format.pretty" option for git-log and git-show.)
When this config option is not set, fall back to the old default of
--pretty=oneline --abbrev-hash.
Signed-off-by: Roland Hieber <rhi@pengutronix.de>
-rw-r--r-- | Documentation/git-reflog.txt | 2 | ||||
-rw-r--r-- | builtin/log.c | 12 |
2 files changed, 11 insertions, 3 deletions
diff --git a/Documentation/git-reflog.txt b/Documentation/git-reflog.txt index ff487ff77..9dccd4bcf 100644 --- a/Documentation/git-reflog.txt +++ b/Documentation/git-reflog.txt @@ -41,6 +41,8 @@ command-line (or `HEAD`, by default). The reflog covers all recent actions, and in addition the `HEAD` reflog records branch switching. `git reflog show` is an alias for `git log -g --abbrev-commit --pretty=oneline`; see linkgit:git-log[1] for more information. +The config option `reflog.pretty` is used as the default pretty +format if nothing else is specified. The "expire" subcommand prunes older reflog entries. Entries older than `expire` time, or entries older than `expire-unreachable` time diff --git a/builtin/log.c b/builtin/log.c index a479642eb..0fbd32401 100644 --- a/builtin/log.c +++ b/builtin/log.c @@ -667,6 +667,7 @@ int cmd_log_reflog(int argc, const char **argv, const char *prefix) { struct rev_info rev; struct setup_revision_opt opt; + int cfg_have_pretty; init_log_defaults(); git_config(git_log_config, NULL); @@ -676,11 +677,16 @@ int cmd_log_reflog(int argc, const char **argv, const char *prefix) rev.verbose_header = 1; memset(&opt, 0, sizeof(opt)); opt.def = "HEAD"; + + cfg_have_pretty = git_config_get_string_const("reflog.pretty", &fmt_pretty); cmd_log_init_defaults(&rev); - rev.abbrev_commit = 1; - rev.commit_format = CMIT_FMT_ONELINE; - rev.use_terminator = 1; + if (cfg_have_pretty != 0) { + rev.abbrev_commit = 1; + 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); |