Johannes Sixt <j6t@xxxxxxxx> writes: > You may also consider an idea I proposed here: > > http://thread.gmane.org/gmane.comp.version-control.git/206886/focus=207342 > > The idea is that the exchange begins as usual, but when the v2 client > sees that the server also supports v2, then it begins sending its > desired refs. When the server notices that the client spoke while it > was still sending out its megabytes of ref advertisments, it stops the > v1 advertisements and continues with v2 protocol. Yes, it would be possible to design the protocol in such a way provided if we can find a v1 protocol message that we can use so that a new client will send it as "I am a client capable of talking the new protocol" and the message appears as a no-op to older servers. And that would allow us to transparently upgrade the protocol in-line. That would be a big plus. And there seems to be such a message for both fetch and push protoocol, as discussed in $gmane/264512 a few days ago. But I think the current thinking is that it is OK to avoid the ugliness and complexity of having to say "oops, sorry but I did not hear your 'I am new enough' soon enough and sent a lot of v1 advertisement, let's resync with v2 protocol" and instead upgrade the old client upon the _next_ exchange (see $gmane/264309). -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html