Johannes Sixt <j...@kdbg.org> 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 majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to