From: Junio C Hamano Date: Thu, 07 Feb 2013 00:12:10 GMT Subject: Re: [PATCH v3 0/8] Hiding refs Message-ID: <7vmwvh9e3p.fsf@alter.siamese.dyndns.org> In-Reply-To: Ævar Arnfjörð Bjarmason writes: > I think there's a simpler way to do this, which is that: > > * New clients supporting v2 of the protocol send some piece of data > that would break old servers. > > * If that fails the new client goes "oh jeeze, I guess it's an old > server", and try again with the old protocol. > > * The client then saves a date (or the version the server gave us) > indicating that it tried the new protocol on that remote, tries > again sometime later. For that to work, the new server needs to wait for the client to speak first. How would that server handle old clients who expect to be spoken first? Wait with a read timeout (no timeout is the right timeout for everybody)? > We already covered in previous discussions how this would be simpler > with the HTTP protocol,... Yes, that is a solved problem.