From: Jeff King Date: Fri, 02 Sep 2011 05:03:59 GMT Subject: Re: Funnies with "git fetch" Message-ID: <20110902050359.GB11678@sigill.intra.peff.net> In-Reply-To: <7vippbmygy.fsf@alter.siamese.dyndns.org> On Thu, Sep 01, 2011 at 08:09:49PM -0700, Junio C Hamano wrote: > You may be slightly misunderstanding the series. > [...] > The current code does not try to make sure we really have the objects > necessary to connect the updated tips to our original refs at all. Not > just blobs but neither commits nor trees are traversed. The new check in > store_updated_refs() is about that. So in that sense, the series is not > about "just blobs". Ah, OK, I see. I was too focused on pulling the bits out of quickfetch into check_everything_connected, and missed the important new call in store_updated_refs. So what you are doing makes sense to me. I am curious, though, what the performance impact is like. In particular, it seems that we will pull each blob into memory via parse_object. Until now, we were mostly streaming the blobs straight into packs. That makes me a little nervous given the discussions recently about large blobs, and not accessing them unnecessarily. But maybe that is a silly concern, as we will have just reconstructed and hashed such an object anyway to get its name. -Peff