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

Re: [PATCH v2 3/3] commit::print_summary(): set rev_info.always_show_header to 1

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:48:52

Tay Ray Chuan [off-list ref] writes:
This attempts to fix a regression in git-commit, where non-abbreviated
SHA-1s were printed in the summary.

One possible fix would be to set ctx.abbrev to DEFAULT_ABBREV in the
`if` block. However, we remove this codeblock altogether, and set
rev.always_show_header.

This way, we use back the same show_log() mechanism (instead of
format_commit_message()).
I like the removal of the handcrafted call to f-c-m.  Thanks.
Quoting log-tree.c:560:

	shown = log_tree_diff(opt, commit, &log);
	if (!shown && opt->loginfo && opt->always_show_header) {
		log.parent = NULL;
		show_log(opt);
		shown = 1;
	}

This is the only area that always_show_header is checked, so the
setting of this flag should only affect this area.
Hmm, but also setting this flag would affect anything that changes
behaviour depending on the value of log.parent, no?
+	if (!log_tree_commit(&rev, commit))
+		die("unable to print summary");
When always_show_header is set, what are the situations where
log_tree_commit() might return false?  I think your fix depends on the
fact that it will never return false (which I think is a correct thing to
assume---after all that is what "always_show" means ;-).
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help