Subject: Re: [PATCH 2/2] remote-curl.c: handle v1 when check_smart_http

From: Junio C Hamano <[email-masked]>
Date: Wed, 24 Mar 2021 13:33:32 -0700

Junio C Hamano <[email-masked]> writes:

>> +	} else if (!strcmp(reader.line, "version 1")) {
>> +		die(_("v1 is just the original protocol with a version string, use v0 or v2 instead."));
>
> The user may no longer get "invalid response; got 'version 1'", but
> the above does not still explain why v1 is bad and v0 or v2 is
> welcome, either.  IOW, I do not think the patch improves the message
> to achieve what it attempted to do, i.e.
>
>     ... but the other side just treat it as "invalid response", this
>     can't explain why is not ok.

Alternatively

	v1 is not supported; use v0 or v2

would explain why the connection is refused.  It explains why it is
not ok much clearly than "just the original with a version string".

> I wonder if it is a sensible and better alternative to treat v1
> response as if we got v0 (if v1 is truly the same as v0 except for
> the initial version advertisement).
>
> Input from those who are familiar with the protocol versions is very
> much appreciated.

This still stands; we reject because we don't support, but is it
easy to support it instead, if there is no difference?