Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
diffcore-break: do not break too small filepair.
author
Junio C Hamano
<junkio@cox.net>
Tue, 13 Dec 2005 01:15:55 +0000
(17:15 -0800)
committer
Junio C Hamano
<junkio@cox.net>
Tue, 13 Dec 2005 01:15:55 +0000
(17:15 -0800)
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>
diffcore-break.c
patch
|
blob
|
history
raw
|
patch
|
inline
| side by side (parent:
86c9523
)
diff --git
a/diffcore-break.c
b/diffcore-break.c
index e6a468e6b0371f77e139928cb963b2b7974b9132..c57513a4fa83c58c5040ead38c52765051cd13f5 100644
(file)
--- a/
diffcore-break.c
+++ b/
diffcore-break.c
@@
-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);
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,
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,
!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;
/* Split this into delete and create */
struct diff_filespec *null_one, *null_two;
struct diff_filepair *dp;