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 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html