Re: Make "git clone" less of a deathly quiet experience
- From
- Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl>
- Date
- Feb 11, 2006, 13:15 UTC
- Message-ID
- <43EDE37C.9050005@gorzow.mm.pl>
- In-Reply-To
- <20060211130530.GR31278@pasky.or.cz>
Petr Baudis wrote:
Show 13 quoted lines
> 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