diff options
author | Jeff King <peff@peff.net> | 2014-10-15 18:42:09 -0400 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2014-10-16 10:10:43 -0700 |
commit | abcb86553d3ec4afffa4e3963089dffe0559740e (patch) | |
tree | 4ad24dfe7d40b7b079bd186a77bfabd3c0570f9e /reachable.c | |
parent | d0d46abc167d18fdbdbf2ece8ca6df704517c62f (diff) | |
download | git-abcb86553d3ec4afffa4e3963089dffe0559740e.tar.gz git-abcb86553d3ec4afffa4e3963089dffe0559740e.tar.xz |
pack-objects: match prune logic for discarding objects
A recent commit taught git-prune to keep non-recent objects
that are reachable from recent ones. However, pack-objects,
when loosening unreachable objects, tries to optimize out
the write in the case that the object will be immediately
pruned. It now gets this wrong, since its rule does not
reflect the new prune code (and this can be seen by running
t6501 with a strategically placed repack).
Let's teach pack-objects similar logic.
Signed-off-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'reachable.c')
-rw-r--r-- | reachable.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/reachable.c b/reachable.c index 55589a02e..0176a88b8 100644 --- a/reachable.c +++ b/reachable.c @@ -183,8 +183,8 @@ static int add_recent_packed(const unsigned char *sha1, return 0; } -static int add_unseen_recent_objects_to_traversal(struct rev_info *revs, - unsigned long timestamp) +int add_unseen_recent_objects_to_traversal(struct rev_info *revs, + unsigned long timestamp) { struct recent_data data; int r; |