mirror of
https://github.com/git/git.git
synced 2024-11-24 18:33:43 +08:00
diffcore-break: micro-optimize by avoiding delta between identical files.
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 aeecd23ae2
commit)
This commit is contained in:
parent
a204756a45
commit
a64dd34d8c
@ -58,6 +58,10 @@ static int should_break(struct diff_filespec *src,
|
||||
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 */
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user