diff options
author | Junio C Hamano <junkio@cox.net> | 2006-06-27 15:08:19 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-06-27 15:33:40 -0700 |
commit | 3969cf7db1a13a78f3b7a36d8c1084bbe0a53459 (patch) | |
tree | 2b16523d7552997a7c3f562a4f2bffbc207a926c /log-tree.c | |
parent | a959e0dc16907c4dc123cfac7bd22c636064a638 (diff) | |
download | git-3969cf7db1a13a78f3b7a36d8c1084bbe0a53459.tar.gz |
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>
Diffstat (limited to 'log-tree.c')
-rw-r--r-- | log-tree.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/log-tree.c b/log-tree.c index ab6b682223..9d8d46fa00 100644 --- a/log-tree.c +++ b/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; } |