diff options
author | Junio C Hamano <junkio@cox.net> | 2006-05-01 22:54:22 -0700 |
---|---|---|
committer | Junio C Hamano <junkio@cox.net> | 2006-05-01 22:54:22 -0700 |
commit | cbd800ba7901dc89ce00930334eebf2b6b84cefb (patch) | |
tree | 3b1a8f14241432b1576a95be8bb4fdee5ae15b69 | |
parent | 95a31cc5b32c5ab787e419124826ac202a00b7f5 (diff) | |
parent | 9a8b6a0a9d4de3d9c1005b872b9b57a213d3e9f8 (diff) | |
download | git-cbd800ba7901dc89ce00930334eebf2b6b84cefb.tar.gz git-cbd800ba7901dc89ce00930334eebf2b6b84cefb.tar.xz |
Merge branch 'jc/pack'
-rw-r--r-- | pack-objects.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/pack-objects.c b/pack-objects.c index c0acc460b..660433813 100644 --- a/pack-objects.c +++ b/pack-objects.c @@ -1032,12 +1032,6 @@ static int try_delta(struct unpacked *cur, struct unpacked *old, unsigned max_de max_depth -= cur_entry->delta_limit; } - size = cur_entry->size; - oldsize = old_entry->size; - sizediff = oldsize > size ? oldsize - size : size - oldsize; - - if (size < 50) - return -1; if (old_entry->depth >= max_depth) return 0; @@ -1048,9 +1042,12 @@ static int try_delta(struct unpacked *cur, struct unpacked *old, unsigned max_de * more space-efficient (deletes don't have to say _what_ they * delete). */ + size = cur_entry->size; max_size = size / 2 - 20; if (cur_entry->delta) max_size = cur_entry->delta_size-1; + oldsize = old_entry->size; + sizediff = oldsize < size ? size - oldsize : 0; if (sizediff >= max_size) return 0; delta_buf = diff_delta(old->data, oldsize, @@ -1109,6 +1106,9 @@ static void find_deltas(struct object_entry **list, int window, int depth) */ continue; + if (entry->size < 50) + continue; + free(n->data); n->entry = entry; n->data = read_sha1_file(entry->sha1, type, &size); |