protocol: re-enable v2 protocol by default
Protocol v2 became the default in v2.26.0 via684ceae32d
(fetch: default to protocol version 2, 2019-12-23). More widespread use turned up a regression in negotiation. That was fixed in v2.27.0 via4fa3f00abb
(fetch-pack: in protocol v2, in_vain only after ACK, 2020-04-27), but we also reverted the default to v0 as a precuation in11c7f2a30b
(Revert "fetch: default to protocol version 2", 2020-04-22). In v2.28.0, we re-enabled it for experimental users with3697caf4b9
(config: let feature.experimental imply protocol.version=2, 2020-05-20) and haven't heard any complaints. v2.28 has only been out for 2 months, but I'd generally expect people turning on feature.experimental to also stay pretty up-to-date. So we're not likely to collect much more data by waiting. In addition, we have no further reports from people running v2.26.0, and of course some people have been setting protocol.version manually for ages. 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. Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
e1cfff6765
commit
eb049759fb
@ -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
|
||||
|
@ -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:
|
||||
+
|
||||
--
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user