Thread (2 messages) flat view 2 messages, 2 authors, 2016-06-15

Re: Git log of all (modifying) commands run on a repo?

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:42:53
Subsystem: the rest · Maintainer: Linus Torvalds

Possibly related (same subject, not in this thread)

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");
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help