Fix some more diff options changes.
This fixes various problems in the new diff options code. - Fix --cc/-c --patch; it showed two-tree diff used internally. - Use "---\n" only where it matters -- that is, use it immediately after the commit log text when we show a commit log and something else before the patch text. - Do not output spurious extra "\n"; have an extra newline after the commit log text always when we have diff output and we are not doing oneline. - When running a pickaxe you need to go recursive. Signed-off-by: Junio C Hamano <junkio@cox.net>
This commit is contained in:
17
log-tree.c
17
log-tree.c
@ -164,9 +164,22 @@ int log_tree_diff_flush(struct rev_info *opt)
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (opt->loginfo && !opt->no_commit_id)
|
||||
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, opt->diffopt.msg_sep);
|
||||
|
||||
if (opt->verbose_header &&
|
||||
opt->commit_format != CMIT_FMT_ONELINE) {
|
||||
int pch = DIFF_FORMAT_DIFFSTAT | DIFF_FORMAT_PATCH;
|
||||
if ((pch & opt->diffopt.output_format) == pch)
|
||||
printf("---%c", opt->diffopt.line_termination);
|
||||
else
|
||||
putchar(opt->diffopt.line_termination);
|
||||
}
|
||||
}
|
||||
diff_flush(&opt->diffopt);
|
||||
return 1;
|
||||
}
|
||||
|
Reference in New Issue
Block a user