git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] protocol: re-enable v2 protocol by default

From
Junio C Hamano <gitster@pobox.com>
Date
Sep 25, 2020, 18:41 UTC
Message-ID
<xmqq4knllmwr.fsf@gitster.c.googlers.com>
In-Reply-To
<20200925183436.GA659633@coredump.intra.peff.net>
Jeff King <peff@peff.net> writes:
> Let's move forward with v2 as the default again. It's possible there are
> still lurking bugs, but we won't know until it gets more widespread use.
> And we can find and squash them just like any other bug at this point.
Ack.  Thanks.
Show 73 quoted lines
>
> Signed-off-by: Jeff King <peff@peff.net>
> ---
> After seeing yet another round of "if you use the v2 protocol, all of
> your issues fetching a non-tip object for submodules or CI will go away"
> advice today, I was reminded that we haven't picked up the question
> again of when we should look at v2 becoming the default again.
>
>  Documentation/config/feature.txt  | 4 ----
>  Documentation/config/protocol.txt | 3 +--
>  protocol.c                        | 6 +-----
>  3 files changed, 2 insertions(+), 11 deletions(-)
>
> diff --git a/Documentation/config/feature.txt b/Documentation/config/feature.txt
> index c0cbf2bb1c..cdecd04e5b 100644
> --- a/Documentation/config/feature.txt
> +++ b/Documentation/config/feature.txt
> @@ -14,10 +14,6 @@ feature.experimental::
>  +
>  * `fetch.negotiationAlgorithm=skipping` may improve fetch negotiation times by
>  skipping more commits at a time, reducing the number of round trips.
> -+
> -* `protocol.version=2` speeds up fetches from repositories with many refs by
> -allowing the client to specify which refs to list before the server lists
> -them.
>  
>  feature.manyFiles::
>  	Enable config options that optimize for repos with many files in the
> diff --git a/Documentation/config/protocol.txt b/Documentation/config/protocol.txt
> index c46e9b3d00..756591d77b 100644
> --- a/Documentation/config/protocol.txt
> +++ b/Documentation/config/protocol.txt
> @@ -48,8 +48,7 @@ protocol.version::
>  	If set, clients will attempt to communicate with a server
>  	using the specified protocol version.  If the server does
>  	not support it, communication falls back to version 0.
> -	If unset, the default is `0`, unless `feature.experimental`
> -	is enabled, in which case the default is `2`.
> +	If unset, the default is `2`.
>  	Supported versions:
>  +
>  --
> diff --git a/protocol.c b/protocol.c
> index 8d964fc65e..052d7edbb9 100644
> --- a/protocol.c
> +++ b/protocol.c
> @@ -17,7 +17,6 @@ static enum protocol_version parse_protocol_version(const char *value)
>  enum protocol_version get_protocol_version_config(void)
>  {
>  	const char *value;
> -	int val;
>  	const char *git_test_k = "GIT_TEST_PROTOCOL_VERSION";
>  	const char *git_test_v;
>  
> @@ -31,9 +30,6 @@ enum protocol_version get_protocol_version_config(void)
>  		return version;
>  	}
>  
> -	if (!git_config_get_bool("feature.experimental", &val) && val)
> -		return protocol_v2;
> -
>  	git_test_v = getenv(git_test_k);
>  	if (git_test_v && *git_test_v) {
>  		enum protocol_version env = parse_protocol_version(git_test_v);
> @@ -43,7 +39,7 @@ enum protocol_version get_protocol_version_config(void)
>  		return env;
>  	}
>  
> -	return protocol_v0;
> +	return protocol_v2;
>  }
>  
>  enum protocol_version determine_protocol_version_server(void)
Previous: Jeff KingNext: jrnieder@gmail.com
Message 2 of 3 in “protocol: re-enable v2 protocol by default”
  1. protocol: re-enable v2 protocol by defaultJeff King, Sep 25, 2020
  2. Junio C HamanoSep 25, 2020
  3. jrnieder@gmail.comSep 25, 2020

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.