From: Nicolas Pitre Date: Tue, 12 Jun 2012 19:35:17 GMT Subject: Re: Keeping unreachable objects in a separate pack instead of loose? Message-ID: In-Reply-To: <20120612191929.GA12161@thunk.org> On Tue, 12 Jun 2012, Ted Ts'o wrote: > On Tue, Jun 12, 2012 at 03:15:46PM -0400, Nicolas Pitre wrote: > > > But the old packs are huge; in my case, a full set of packs was around > > > 16 megabytes. Right now, git gc *increased* my disk usage by 4.5 > > > megabytes. If we don't delete the old backs, then git gc would > > > increase disk usage by 16 megabytes --- which is far, far worse. > > > > > > Writing a 244k cruft pack is a soooooo much preferable. > > > > But as you might have noticed, there are a bunch of semantic problems > > with that as well. > > I've proposed something (explicitly labelled cruft packs) which is no > worse than before. The one potential problem is that objects in the > cruft pack might have their lifespan extended by two weeks (or > whatever the expire timeout might be), but Peff has agreed that it's > simple enough to ignore that, since the benefits far outweigh the > potential that some objects in cruft packs will get to live a bit > longer. > > The race condition you've pointed out exists today, with the git prune > racing against the git fetch. Yes, however that race is trivial to fix when loose objects are used. Nicolas