Re: Notes in format-patch
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Nov 13, 2012, 18:09 UTC
- Message-ID
- <7vfw4de5oc.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <7vr4nxe7nf.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster@pobox.com> writes:
Show 6 quoted lines
> ... and it is broken X-<. > > The blank line should be added before the diffstat, not after the > notes message (t3307 shows a case where we give notes without > diffstat, and we shouldn't be adding an extra blank line in that > case.
Second try.
-- >8 -- Subject: format-patch: add a blank line between notes and diffstat
The last line of the note text comes immediately before the diffstat block, making the latter unnecessarily harder to view.
Signed-off-by: Junio C Hamano <gitster@pobox.com> ---
log-tree.c | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-)
diff --git c/log-tree.c w/log-tree.c index 712a22b..4f86def 100644 --- c/log-tree.c +++ w/log-tree.c @@ -727,15 +727,16 @@ int log_tree_diff_flush(struct rev_info *opt) } if (opt->loginfo && !opt->no_commit_id) { - /* When showing a verbose header (i.e. log message), - * and not in --pretty=oneline format, we would want - * an extra newline between the end of log and the - * output for readability. - */ show_log(opt); if ((opt->diffopt.output_format & ~DIFF_FORMAT_NO_OUTPUT) && opt->verbose_header && opt->commit_format != CMIT_FMT_ONELINE) { + /* + * When showing a verbose header (i.e. log message), + * and not in --pretty=oneline format, we would want + * an extra newline between the end of log and the + * diff/diffstat output for readability. + */ int pch = DIFF_FORMAT_DIFFSTAT | DIFF_FORMAT_PATCH; if (opt->diffopt.output_prefix) { struct strbuf *msg = NULL; @@ -743,11 +744,21 @@ int log_tree_diff_flush(struct rev_info *opt) opt->diffopt.output_prefix_data); fwrite(msg->buf, msg->len, 1, stdout); } - if (!opt->shown_dashes) { - if ((pch & opt->diffopt.output_format) == pch) - printf("---"); - putchar('\n'); - } + + /* + * We may have shown three-dashes line early + * between notes and the log message, in which + * case we only want a blank line after the + * notes without (an extra) three-dashes line. + * Otherwise, we show the three-dashes line if + * we are showing the patch with diffstat, but + * in that case, there is no extra blank line + * after the three-dashes line. + */ + if (!opt->shown_dashes && + (pch & opt->diffopt.output_format) == pch) + printf("---"); + putchar('\n'); } } diff_flush(&opt->diffopt);