Re: git gc --auto yelling at users where a repo legitimately has >6700 loose objects
- Date: Fri, 12 Jan 2018 08:46:09 -0500
- From: Jeff King <peff@xxxxxxxx>
- Subject: Re: git gc --auto yelling at users where a repo legitimately has >6700 loose objects
On Thu, Jan 11, 2018 at 10:33:15PM +0100, Ævar Arnfjörð Bjarmason wrote:
> 4. At the end of all this, we check *again* if we have >6700 objects,
> if we do we print "run 'git prune'" to .git/gc.log, and will just
> emit that error for the next day before trying again, at which point
> we unlink the gc.log and retry, see gc.logExpiry.
> Right now I've just worked around this by setting gc.pruneExpire to a
> lower value (4.days.ago). But there's a larger issue to be addressed
> here, and I'm not sure how.
IMHO the right solution is to stop exploding loose objects, and instead
write them all into a "cruft" pack. That's more efficient, to boot
(since it doesn't waste inodes, and may even retain deltas between cruft
But there are some tricks around timestamps. I wrote up some thoughts
and downthread from there.