[PATCH] Fix tweak in similarity estimator.
There was a screwy math bug in the estimator that confused what -C1 meant and what -C9 meant, only in one of the early "cheap" check, which resulted in quite confusing behaviour. Signed-off-by: Junio C Hamano <junkio@cox.net> Signed-off-by: Linus Torvalds <torvalds@osdl.org>maint
parent
81e50eabf0
commit
cd1870edb6
|
@ -77,12 +77,12 @@ static int estimate_similarity(struct diff_filespec *src,
|
||||||
|
|
||||||
/* We would not consider edits that change the file size so
|
/* We would not consider edits that change the file size so
|
||||||
* drastically. delta_size must be smaller than
|
* drastically. delta_size must be smaller than
|
||||||
* minimum_score/MAX_SCORE * min(src->size, dst->size).
|
* (MAX_SCORE-minimum_score)/MAX_SCORE * min(src->size, dst->size).
|
||||||
* Note that base_size == 0 case is handled here already
|
* Note that base_size == 0 case is handled here already
|
||||||
* and the final score computation below would not have a
|
* and the final score computation below would not have a
|
||||||
* divide-by-zero issue.
|
* divide-by-zero issue.
|
||||||
*/
|
*/
|
||||||
if (base_size * minimum_score < delta_size * MAX_SCORE)
|
if (base_size * (MAX_SCORE-minimum_score) < delta_size * MAX_SCORE)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
delta = diff_delta(src->data, src->size,
|
delta = diff_delta(src->data, src->size,
|
||||||
|
|
Loading…
Reference in New Issue