Re: Git log of all (modifying) commands run on a repo?
From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:53
Linus Torvalds [off-list ref] writes:
With "--pretty=oneline --abbrev-commit" I'll agree that it's actually fairly pretty. Maybe we can make "-g" default to that? As it is, I'd otherwise still use "less" just because there is less typing... Linus
Well, you would not know if the user gave you '-g' before you ask setup_revisions() to parse the options, and once you let it do its thing, you would not know if it also found an explicit output format given by the end user, so your cannot sanely make default depend on '-g'. I suspect that it would have to be either somewhat involved or outright hacky. --- builtin-log.c | 15 ++++++++++++++- 1 files changed, 14 insertions(+), 1 deletions(-)
diff --git a/builtin-log.c b/builtin-log.c
index 982d871..0221c76 100644
--- a/builtin-log.c
+++ b/builtin-log.c@@ -22,8 +22,21 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix, { int i; - rev->abbrev = DEFAULT_ABBREV; rev->commit_format = CMIT_FMT_DEFAULT; + if (!strcmp(argv[0], "log")) { + /* first see if there is "-g" */ + for (i = 1; i < argc; i++) { + if (!strcmp("--", argv[i])) + break; + if (!strcmp("-g", argv[i]) || + !strcmp("--walk-reflogs", argv[i])) { + rev->abbrev_commit = 1; + rev->commit_format = CMIT_FMT_ONELINE; + break; + } + } + } + rev->abbrev = DEFAULT_ABBREV; rev->verbose_header = 1; rev->show_root_diff = default_show_root; argc = setup_revisions(argc, argv, rev, "HEAD");