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:28:32 -0700

[email-masked] writes:

>  		 * be handled elsewhere.
>  		 */
>  		d->proto_git = 1;
> -

Unrelated removal.

> +	} 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.

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.

Thanks.

>  	} else {
>  		die(_("invalid server response; got '%s'"), reader.line);
>  	}