Merge branch 'jk/prune-mtime'
commitd70e331c0e8eaeb0bd75ae3020c3be71de075ff7
authorJunio C Hamano <gitster@pobox.com>
Wed, 29 Oct 2014 17:07:56 +0000 (29 10:07 -0700)
committerJunio C Hamano <gitster@pobox.com>
Wed, 29 Oct 2014 17:07:56 +0000 (29 10:07 -0700)
tree645e25685926321704394063059a928d7492a9e8
parent853878d520cd4be5a8568b5abd1826e090d3b9d9
parent189a1222493f73977291f57d0f2030e982aff282
Merge branch 'jk/prune-mtime'

Tighten the logic to decide that an unreachable cruft is
sufficiently old by covering corner cases such as an ancient object
becoming reachable and then going unreachable again, in which case
its retention period should be prolonged.

* jk/prune-mtime: (28 commits)
  drop add_object_array_with_mode
  revision: remove definition of unused 'add_object' function
  pack-objects: double-check options before discarding objects
  repack: pack objects mentioned by the index
  pack-objects: use argv_array
  reachable: use revision machinery's --indexed-objects code
  rev-list: add --indexed-objects option
  rev-list: document --reflog option
  t5516: test pushing a tag of an otherwise unreferenced blob
  traverse_commit_list: support pending blobs/trees with paths
  make add_object_array_with_context interface more sane
  write_sha1_file: freshen existing objects
  pack-objects: match prune logic for discarding objects
  pack-objects: refactor unpack-unreachable expiration check
  prune: keep objects reachable from recent objects
  sha1_file: add for_each iterators for loose and packed objects
  count-objects: use for_each_loose_file_in_objdir
  count-objects: do not use xsize_t when counting object size
  prune-packed: use for_each_loose_file_in_objdir
  reachable: mark index blobs as SEEN
  ...
builtin/pack-objects.c
builtin/reflog.c
cache.h
git-compat-util.h
sha1_file.c