From: Radoslaw Szkodzinski Date: Sat, 11 Feb 2006 13:15:40 GMT Subject: Re: Make "git clone" less of a deathly quiet experience Message-ID: <43EDE37C.9050005@gorzow.mm.pl> In-Reply-To: <20060211130530.GR31278@pasky.or.cz> Petr Baudis wrote: > But the native git protocol works completely differently - you tell the > server "give me all objects you have between object X and head", the > object will generate a completely custom pack just for you and send it > over the network. The next time you fetch, you just ask for a pack > between object X and head again, but the head can be already totally > different. What we would have to do is to check for interrupted > packfiles before fetching, attempt to fix them (cutting out the > incomplete objects and broken delta chains, if applicable), and then > tell the remote side to skip those objects; but that may not be easy > because there can be a lot of "loose fibres". Another way would be to > just tell the server "if head is still Y, start sending the pack only > after N bytes". *shudder* > The other way would be: - generate pack file between X and Y - start sending from N bytes It could break if the repo has been rebased in the meantime. But we could safeguard against it by sending the hash of the packfile up to N bytes. -- GPG Key id: 0xD1F10BA2 Fingerprint: 96E2 304A B9C4 949A 10A0 9105 9543 0453 D1F1 0BA2 AstralStorm