Re: [RFC PATCH] Reduce the number of connects when fetching
From: Johannes Sixt <hidden>
Date: 2016-06-15 22:43:47
Junio C Hamano schrieb:
Daniel Barkalow [off-list ref] writes:quoted
... In particular, I don't know if there's a way to have the connection end up in a state where objects for more refs can be requested after some refs have been requested and the resulting objects read.The upload-pack protocol goes "S: here are what I have, C: I want these, C: I have these, S: ok, continue, C: I have these, S: ok, continue, C: I have these, S: ok, I've heard enough, C: done, S: packfile is here", so after packfile generation starts there is nothing further the downloader can say. Otherwise you would be able to do the tag following using the same connection, but that is unfortunately not a case.
How about: S: here are what I have C: I want these C: want tags <-- new C: I have these S: ok, continue C: I have these S: ok, continue C: I have these S: ok, these are the tags <-- new S: I've heard enough C: done S: packfile is here The tags that the server provides are those (and only those[*]) that reference objects in the packfile that it's going to send. [*] This way the client doesn't have to figure out which tags it wants; as a side-effect it won't accidentally fetch tags for objects that it happens to have in the repository, but aren't reachable from any ref (like what used to happen). -- Hannes