From: Junio C Hamano Date: Thu, 12 May 2005 17:16:11 GMT Subject: Re: [PATCH] improved delta support for git Message-ID: <7vbr7gicv8.fsf@assigned-by-dhcp.cox.net> In-Reply-To: >>>>> "NP" == Nicolas Pitre writes: >> On 5/13/05, Chris Mason wrote: >> > On Thursday 12 May 2005 00:36, Junio C Hamano wrote: >> > > It appears to me that changes to the make_sure_we_have_it() ... >> > >> > If we fetch the named object and it is a delta, the delta will either depend >> > on an object we already have or an object that we don't have. If we don't >> > have it, the pull should find it while pulling other commits we don't have. NP> 1) If you happen to already have the referenced object in your local NP> repository then you're done. Yes. NP> 2) If not you pull the referenced object from the remote repository, NP> repeat with #1 if it happens to be another delta object. Yes, that is the outline of what my (untested) patch does. Unless I am grossly mistaken, what Chris says is true only when we are pulling with -a flag to the git-*-pull family. If we are pulling "partially near the tip", we do not necessarily pull "other commits we don't have", hence detecting delta's requirement at per-object level and pulling the dependent becomes necessary, which is essentially what you wrote in (2) above.