Re: Git log of all (modifying) commands run on a repo?
- From
Junio C Hamano <junkio@cox.net>
- Date
- Feb 8, 2007, 00:26 UTC
- Message-ID
- <7v8xf94hq1.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.64.0702071539390.8424@woody.linux-foundation.org>
Linus Torvalds <torvalds@linux-foundation.org> writes:
Show 7 quoted lines
> 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");