Merge branch 'jk/pack-objects-optim'
commit78849622ec58ae576f36b155824e813543a9bdf5
authorJunio C Hamano <gitster@pobox.com>
Mon, 8 Aug 2016 21:48:39 +0000 (8 14:48 -0700)
committerJunio C Hamano <gitster@pobox.com>
Mon, 8 Aug 2016 21:48:39 +0000 (8 14:48 -0700)
tree5b1c92c1beb5bfdd6072c31e8ba85d541ac2146a
parent7647537e3e8f263306e22cb22b4f4f7b09589b19
parent56dfeb62638760fa78a442a97f19abf1af374d29
Merge branch 'jk/pack-objects-optim'

"git pack-objects" has a few options that tell it not to pack
objects found in certain packfiles, which require it to scan .idx
files of all available packs.  The codepaths involved in these
operations have been optimized for a common case of not having any
non-local pack and/or any .kept pack.

* jk/pack-objects-optim:
  pack-objects: compute local/ignore_pack_keep early
  pack-objects: break out of want_object loop early
  find_pack_entry: replace last_found_pack with MRU cache
  add generic most-recently-used list
  sha1_file: drop free_pack_by_name
  t/perf: add tests for many-pack scenarios
Makefile
builtin/pack-objects.c
cache.h
sha1_file.c