Re: [PATCH] improved delta support for git
- From
Junio C Hamano <junkio@cox.net>
- Date
- May 12, 2005, 17:16 UTC
- Message-ID
- <7vbr7gicv8.fsf@assigned-by-dhcp.cox.net>
- In-Reply-To
- <Pine.LNX.4.62.0505121110490.5426@localhost.localdomain>
>>>>> "NP" == Nicolas Pitre <nico@cam.org> writes:
Show 7 quoted lines
>> On 5/13/05, Chris Mason <mason@suse.com> 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.