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 ;-).