X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=diff-tree.c;h=f55a35a9d5f9ae4e3f7d3fd778a953cc9cc533ad;hb=9acf322d69f54ff5bf9de8b2d6f9cd1dccf523a3;hp=f3280a13ee5254452da1aae93f4b6fb4a3bb8c3e;hpb=a2c641c4ab66b5bdcb62c36a5f748b9f929d61b8;p=git.git diff --git a/diff-tree.c b/diff-tree.c index f3280a13..f55a35a9 100644 --- a/diff-tree.c +++ b/diff-tree.c @@ -117,8 +117,12 @@ static int diff_tree_commit(struct commit *commit) return 0; else if (combine_merges) { header = generate_header(sha1, sha1, commit); - return diff_tree_combined_merge(sha1, header, - dense_combined_merges); + header = diff_tree_combined_merge(sha1, header, + dense_combined_merges, + &diff_options); + if (!header && verbose_header) + header_prefix = "\ndiff-tree "; + return 0; } } @@ -284,13 +288,16 @@ int main(int argc, const char **argv) } usage(diff_tree_usage); } - if (diff_options.output_format == DIFF_FORMAT_PATCH) - diff_options.recursive = 1; - if (combine_merges) { - diff_options.output_format = DIFF_FORMAT_PATCH; + if (combine_merges) ignore_merges = 0; - } + + /* We can only do dense combined merges with diff output */ + if (dense_combined_merges) + diff_options.output_format = DIFF_FORMAT_PATCH; + + if (diff_options.output_format == DIFF_FORMAT_PATCH) + diff_options.recursive = 1; diff_tree_setup_paths(get_pathspec(prefix, argv)); diff_setup_done(&diff_options);