pack-objects: double-check options before discarding objects
commitb1e757f36377df1f2a6c165ebf171b09a8ad957b
authorJeff King <peff@peff.net>
Fri, 17 Oct 2014 00:44:54 +0000 (16 20:44 -0400)
committerJunio C Hamano <gitster@pobox.com>
Sun, 19 Oct 2014 22:07:07 +0000 (19 15:07 -0700)
tree06aa8d88ce27396ab313a47980356536ede59758
parentc90f9e13abae630551ada3e895633bdc2cf4e080
pack-objects: double-check options before discarding objects

When we are given an expiration time like
--unpack-unreachable=2.weeks.ago, we avoid writing out old,
unreachable loose objects entirely, under the assumption
that running "prune" would simply delete them immediately
anyway. However, this is only valid if we computed the same
set of reachable objects as prune would.

In practice, this is the case, because only git-repack uses
the --unpack-unreachable option with an expiration, and it
always feeds as many objects into the pack as possible. But
we can double-check at runtime just to be sure.

Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
builtin/pack-objects.c