Commit Briefs

Stefan Sperling

print additional progress information while packing

ok op@


Stefan Sperling

cache a list of known pack index files when the repository is opened

Avoids overhead due to readdir calls while searching a pack index. ok op@


Christian Weisgerber

explicitly include <endian.h> for be32toh()



Stefan Sperling

reuse existing deltas when creating pack files

tested by thomas, naddy, and myself






Stefan Sperling

only open raw objects if necessary while writing out pack file data

significantly speeds up the "writing pack: " step of gotadmin pack


Stefan Sperling

use time-based rate-limiting for gotadmin progress output

Suggested by naddy some time ago. ok tracey



Stefan Sperling

try only 3 delta base candidates instead of 10 to speed up packing

Tests by kn, thomas_adam and myself made on various repositories indicate that 3 is a good choice. Tyring 10 deltas is much slower and does not result in significantly smaller pack files.




Stefan Sperling

limit delta chain length in newly created pack files to 32 deltas

Our former limit was 128 which is fairly high. Git uses 50 by default. A smaller limit results in slightly larger pack files but makes both packing and unpacking faster.










Stefan Sperling

make 'got send' properly send commits which are referenced only by tags

Problem reported by Omar Polo.