summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: a204756)
raw | patch | inline | side by side (parent: a204756)
author | Junio C Hamano <junkio@cox.net> | |
Wed, 1 Mar 2006 04:19:47 +0000 (20:19 -0800) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Wed, 1 Mar 2006 12:08:12 +0000 (04:08 -0800) |
We did not check if we have the same file on both sides when
computing break score. This is usually not a problem, but if
the user said --find-copies-harde with -B, we ended up trying a
delta between the same data even when we know the SHA1 hash of
both sides match.
Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from aeecd23ae2785a0462d42191974e9d9a8e439fbe commit)
computing break score. This is usually not a problem, but if
the user said --find-copies-harde with -B, we ended up trying a
delta between the same data even when we know the SHA1 hash of
both sides match.
Signed-off-by: Junio C Hamano <junkio@cox.net>
(cherry picked from aeecd23ae2785a0462d42191974e9d9a8e439fbe commit)
diffcore-break.c | patch | blob | history |
diff --git a/diffcore-break.c b/diffcore-break.c
index c57513a4fa83c58c5040ead38c52765051cd13f5..95b5eb492e3aa1a282347b875df04da31f276399 100644 (file)
--- a/diffcore-break.c
+++ b/diffcore-break.c
if (!S_ISREG(src->mode) || !S_ISREG(dst->mode))
return 0; /* leave symlink rename alone */
+ if (src->sha1_valid && dst->sha1_valid &&
+ !memcmp(src->sha1, dst->sha1, 20))
+ return 0; /* they are the same */
+
if (diff_populate_filespec(src, 0) || diff_populate_filespec(dst, 0))
return 0; /* error but caught downstream */