From: Eric Sunshine Date: Fri, 07 Jun 2013 00:50:27 GMT Subject: Re: [PATCH 4/4] archive: ignore blob objects when checking reachability Message-ID: In-Reply-To: <20130605224038.GD15607@sigill.intra.peff.net> On Wed, Jun 5, 2013 at 6:40 PM, Jeff King wrote: > We cannot create an archive from a blob object, so we would > not expect anyone to provide one to us. And if they do, we > will fail anyway just after the reachability check. We can > therefore optimize our reachability check to ignore blobs > completely, and not even create a "struct blob" for them. > > Depending on the repository size and the exact place we find > the reachable object in the traversal, this can save 20-25%, > a we can avoid many lookups in the object hash. s/a/as/ > The downside of this is that a blob provided to a remote > archive process will fail with "no such object" rather than > "object is not a tree" (we could organize the code to retain > the old message, but since we no longer know whether the > blob is reachable or not, we would potentially be leaking > information about the existence of unreachable objects). > > Signed-off-by: Jeff King