aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2009-01-21 01:07:33 -0800
committerJunio C Hamano <gitster@pobox.com>2009-01-21 01:07:33 -0800
commit2b5189e51855312a91dd23b5e7311c48944bc382 (patch)
treeca3e7605817f8b2c6df2e773cf0c5f0382f45057
parent27a58359c37142e61b1899d195ea096af7fbecf0 (diff)
parent885c716f0f039cfe100f5d761e1011085b43fbb8 (diff)
downloadgit-2b5189e51855312a91dd23b5e7311c48944bc382.tar.gz
git-2b5189e51855312a91dd23b5e7311c48944bc382.tar.xz
Merge branch 'bs/maint-rename-populate-filespec'
* bs/maint-rename-populate-filespec: Rename detection: Avoid repeated filespec population
-rw-r--r--diffcore-rename.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/diffcore-rename.c b/diffcore-rename.c
index 168a95b54..0b0d6b8c8 100644
--- a/diffcore-rename.c
+++ b/diffcore-rename.c
@@ -153,9 +153,9 @@ static int estimate_similarity(struct diff_filespec *src,
* is a possible size - we really should have a flag to
* say whether the size is valid or not!)
*/
- if (!src->cnt_data && diff_populate_filespec(src, 0))
+ if (!src->cnt_data && diff_populate_filespec(src, 1))
return 0;
- if (!dst->cnt_data && diff_populate_filespec(dst, 0))
+ if (!dst->cnt_data && diff_populate_filespec(dst, 1))
return 0;
max_size = ((src->size > dst->size) ? src->size : dst->size);
@@ -173,6 +173,11 @@ static int estimate_similarity(struct diff_filespec *src,
if (base_size * (MAX_SCORE-minimum_score) < delta_size * MAX_SCORE)
return 0;
+ if (!src->cnt_data && diff_populate_filespec(src, 0))
+ return 0;
+ if (!dst->cnt_data && diff_populate_filespec(dst, 0))
+ return 0;
+
delta_limit = (unsigned long)
(base_size * (MAX_SCORE-minimum_score) / MAX_SCORE);
if (diffcore_count_changes(src, dst,