Permalink
Browse files

diffcore-break: do not break too small filepair.

Somehow we checked only one side and not the other.  By checking
the filesize upfront, we can bypass generating delta
unnecessarily.

Signed-off-by: Junio C Hamano <junkio@cox.net>
  • Loading branch information...
Junio C Hamano
Junio C Hamano committed Dec 13, 2005
1 parent 86c9523 commit 0532a5e46b88cd70c952a2bf5dc63681be32a2d9
Showing with 3 additions and 2 deletions.
  1. +3 −2 diffcore-break.c
View
@@ -62,6 +62,8 @@ static int should_break(struct diff_filespec *src,
return 0; /* error but caught downstream */
base_size = ((src->size < dst->size) ? src->size : dst->size);
+ if (base_size < MINIMUM_BREAK_SIZE)
+ return 0; /* we do not break too small filepair */
delta = diff_delta(src->data, src->size,
dst->data, dst->size,
@@ -170,8 +172,7 @@ void diffcore_break(int break_score)
!S_ISDIR(p->one->mode) && !S_ISDIR(p->two->mode) &&
!strcmp(p->one->path, p->two->path)) {
if (should_break(p->one, p->two,
- break_score, &score) &&
- MINIMUM_BREAK_SIZE <= p->one->size) {
+ break_score, &score)) {
/* Split this into delete and create */
struct diff_filespec *null_one, *null_two;
struct diff_filepair *dp;

0 comments on commit 0532a5e

Please sign in to comment.