From: Michael Haggerty Date: Sat, 11 Feb 2012 06:33:57 GMT Subject: Re: [PATCH v2 28/51] refs.c: rename ref_array -> ref_dir Message-ID: <4F360BD5.80006@alum.mit.edu> In-Reply-To: <7v62fepew8.fsf@alter.siamese.dyndns.org> On 02/10/2012 10:17 PM, Junio C Hamano wrote: > Jeff King writes: > >>> If everything_local() is trying to check that the references are in the >>> local repository plus alternates, then it is incorrect that >>> everything_local() doesn't consider alternate references in its >>> determination. My guess is that this is the case, and that something >>> like the following might be the fix: >> >> Junio could answer more authoritatively than I, but I am pretty sure it >> is the latter. The point is to skip the expensive find_common >> negotiation if we know that there are no objects to fetch. Thus the >> "local" here is "do we have them on this side of the git-protocol >> connection", not "do we have them in our non-alternates repository". > > Correct. The function is about "do we need to get any object from the > other side?" optimization. Thanks for your feedback. I have just submitted a patch series [1] that attempts to fix this problem. Michael [1] http://thread.gmane.org/gmane.comp.version-control.git/190488 -- Michael Haggerty mhagger@alum.mit.edu http://softwareswirl.blogspot.com/