diff options
author | Jonathan Nieder <jrnieder@gmail.com> | 2019-12-24 02:02:28 +0100 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2020-01-15 23:03:55 +0100 |
commit | 33166f3a1fcc77824e162d8a8e51ee8b4a2b481c (patch) | |
tree | 91f215269aa2962cf0eab961b42f3718d4fe95e2 /protocol.c | |
parent | test: request GIT_TEST_PROTOCOL_VERSION=0 when appropriate (diff) | |
download | git-33166f3a1fcc77824e162d8a8e51ee8b4a2b481c.tar.xz git-33166f3a1fcc77824e162d8a8e51ee8b4a2b481c.zip |
protocol test: let protocol.version override GIT_TEST_PROTOCOL_VERSION
The GIT_TEST_PROTOCOL_VERSION environment variable can be used to
upgrade the version of Git protocol used in tests. If both
GIT_TEST_PROTOCOL_VERSION and 'protocol.version' are set, the higher
value wins.
For usage within tests, these semantics are too complex. Instead,
always use the value from protocol.version configuration when it is
set, falling back to GIT_TEST_PROTOCOL_VERSION. This way, the envvar
provides a reliable preview of what will happen if the default
protocol version is changed.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'protocol.c')
-rw-r--r-- | protocol.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/protocol.c b/protocol.c index 9741f05750..d390391eba 100644 --- a/protocol.c +++ b/protocol.c @@ -17,9 +17,8 @@ static enum protocol_version parse_protocol_version(const char *value) enum protocol_version get_protocol_version_config(void) { const char *value; - enum protocol_version retval = protocol_v0; const char *git_test_k = "GIT_TEST_PROTOCOL_VERSION"; - const char *git_test_v = getenv(git_test_k); + const char *git_test_v; if (!git_config_get_string_const("protocol.version", &value)) { enum protocol_version version = parse_protocol_version(value); @@ -28,19 +27,19 @@ enum protocol_version get_protocol_version_config(void) die("unknown value for config 'protocol.version': %s", value); - retval = version; + return version; } + git_test_v = getenv(git_test_k); if (git_test_v && *git_test_v) { enum protocol_version env = parse_protocol_version(git_test_v); if (env == protocol_unknown_version) die("unknown value for %s: %s", git_test_k, git_test_v); - if (retval < env) - retval = env; + return env; } - return retval; + return protocol_v0; } enum protocol_version determine_protocol_version_server(void) |