diffcore-rename: improve estimate_similarity() heuristics
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 19 Feb 2011 04:12:06 +0000 (20:12 -0800)
committerJunio C Hamano <gitster@pobox.com>
Sat, 19 Feb 2011 06:26:45 +0000 (22:26 -0800)
The logic to quickly dismiss potential rename pairs was broken. It
would too eagerly dismiss possible renames when all of the difference
was due to pure new data (or deleted data).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
diffcore-rename.c
index b9b039d4a344319da4e24b0fdbe80d9a315351ac..0cd4c1305ba82b39bb8455dd6779fec2cd692e02 100644 (file)
@@ -170,7 +170,7 @@ static int estimate_similarity(struct diff_filespec *src,
         * and the final score computation below would not have a
         * divide-by-zero issue.
         */
-       if (base_size * (MAX_SCORE-minimum_score) < delta_size * MAX_SCORE)
+       if (max_size * (MAX_SCORE-minimum_score) < delta_size * MAX_SCORE)
                return 0;
 
        if (!src->cnt_data && diff_populate_filespec(src, 0))