Browse Source

pack-objects: equal objects in size should delta against newer objects

Before finding best delta combinations, we sort objects by name hash,
then by size, then by their position in memory.  Then we walk the list
backwards to test delta candidates.

We hope that a bigger size usually means a newer objects.  But a bigger
address in memory does not mean a newer object.  So the last comparison
must be reversed.

Signed-off-by: Nicolas Pitre <nico@cam.org>
Signed-off-by: Junio C Hamano <junkio@cox.net>
maint
Nicolas Pitre 18 years ago committed by Junio C Hamano
parent
commit
adcc70950e
  1. 2
      builtin-pack-objects.c

2
builtin-pack-objects.c

@ -1276,7 +1276,7 @@ static int type_size_sort(const struct object_entry *a, const struct object_entr
return -1; return -1;
if (a->size > b->size) if (a->size > b->size)
return 1; return 1;
return a < b ? -1 : (a > b); return a > b ? -1 : (a < b); /* newest last */
} }


struct unpacked { struct unpacked {

Loading…
Cancel
Save