Commit Briefs
fix pack progress object counter for loose objects
Move pack progres object accounting to a single place. This makes it easier to account for the case were only loose objects are packed. A wrong amount of objects was reported before when packing loose ones.
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@
reuse existing deltas when creating pack files
tested by thomas, naddy, and myself
only open raw objects if necessary while writing out pack file data
significantly speeds up the "writing pack: " step of gotadmin pack
use time-based rate-limiting for gotadmin progress output
Suggested by naddy some time ago. ok tracey
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.
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.