From: Junio C Hamano Date: Thu, 08 Feb 2007 00:26:46 GMT Subject: Re: Git log of all (modifying) commands run on a repo? Message-ID: <7v8xf94hq1.fsf@assigned-by-dhcp.cox.net> In-Reply-To: Linus Torvalds 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");