combined-diff: use diffcore before intersecting paths.
authorJunio C Hamano <junkio@cox.net>
Thu, 9 Feb 2006 22:35:19 +0000 (14:35 -0800)
committerJunio C Hamano <junkio@cox.net>
Thu, 9 Feb 2006 22:35:19 +0000 (14:35 -0800)
This is needed to make "diff-tree -c -M" to work semi-sensibly.
Otherwise rename detection, pickaxe and friends would never be
invoked.

Signed-off-by: Junio C Hamano <junkio@cox.net>
combine-diff.c

index 15f369e8e689fa320ced538987564d708a934642..6d783054d58bf31c7a1d9d8e38e678198ea6dd7e 100644 (file)
@@ -829,7 +829,7 @@ const char *diff_tree_combined_merge(const unsigned char *sha1,
        struct combine_diff_path *p, *paths = NULL;
        int num_parent, i, num_paths;
 
-       diff_setup(&diffopts);
+       diffopts = *opt;
        diffopts.output_format = DIFF_FORMAT_NO_OUTPUT;
        diffopts.recursive = 1;
 
@@ -846,6 +846,7 @@ const char *diff_tree_combined_merge(const unsigned char *sha1,
                struct commit *parent = parents->item;
                diff_tree_sha1(parent->object.sha1, commit->object.sha1, "",
                               &diffopts);
+               diffcore_std(&diffopts);
                paths = intersect_paths(paths, i, num_parent);
                diff_flush(&diffopts);
        }