From: Jeff King Date: Fri, 24 Jan 2014 02:28:22 GMT Subject: Re: [PATCH] pack-objects: turn off bitmaps when skipping objects Message-ID: <20140124022822.GC4521@sigill.intra.peff.net> In-Reply-To: <52E1AB78.1000504@fb.com> On Thu, Jan 23, 2014 at 03:53:28PM -0800, Siddharth Agarwal wrote: > On 01/23/2014 03:45 PM, Siddharth Agarwal wrote: > > > >The worry is less certain objects not being packed and more the old > >packs being deleted by git repack, isn't it? From the man page for > >git-index-pack: > > This should probably be "new pack" and not "old packs", I guess. Not > knowing much about how this actually works, I'm assuming the scenario > here is something like: > > (1) git receive-pack receives a pack P.pack and writes it to disk > (2) git index-pack runs on P.pack > (3) git repack runs separately, finds pack P.pack with no refs > pointing to it, and deletes it > (4) everything goes wrong > > With a keep file, this would be averted because > > (1) git receive-pack receives a pack P.pack and writes it to disk > (2) git index-pack writes a keep file for P.pack, called P.keep > (3) git repack runs separately, finds pack P.pack with a keep file, > doesn't touch it > (4) git index-pack finishes, and something updates refs to point to > P.pack and deletes P.keep I think your understanding is accurate here. So we want repack to respect keep files for deletion, but we _not_ necessarily want pack-objects to avoid packing an object just because it's in a pack marked by .keep (see my other email). -Peff