Skip to content

Commit 33166f3

Browse files
jrngitster
authored andcommitted
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 <[email protected]> Signed-off-by: Junio C Hamano <[email protected]>
1 parent 8a1b097 commit 33166f3

File tree

2 files changed

+7
-8
lines changed

2 files changed

+7
-8
lines changed

protocol.c

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,8 @@ static enum protocol_version parse_protocol_version(const char *value)
1717
enum protocol_version get_protocol_version_config(void)
1818
{
1919
const char *value;
20-
enum protocol_version retval = protocol_v0;
2120
const char *git_test_k = "GIT_TEST_PROTOCOL_VERSION";
22-
const char *git_test_v = getenv(git_test_k);
21+
const char *git_test_v;
2322

2423
if (!git_config_get_string_const("protocol.version", &value)) {
2524
enum protocol_version version = parse_protocol_version(value);
@@ -28,19 +27,19 @@ enum protocol_version get_protocol_version_config(void)
2827
die("unknown value for config 'protocol.version': %s",
2928
value);
3029

31-
retval = version;
30+
return version;
3231
}
3332

33+
git_test_v = getenv(git_test_k);
3434
if (git_test_v && *git_test_v) {
3535
enum protocol_version env = parse_protocol_version(git_test_v);
3636

3737
if (env == protocol_unknown_version)
3838
die("unknown value for %s: %s", git_test_k, git_test_v);
39-
if (retval < env)
40-
retval = env;
39+
return env;
4140
}
4241

43-
return retval;
42+
return protocol_v0;
4443
}
4544

4645
enum protocol_version determine_protocol_version_server(void)

t/README

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,8 +352,8 @@ details.
352352
GIT_TEST_SPLIT_INDEX=<boolean> forces split-index mode on the whole
353353
test suite. Accept any boolean values that are accepted by git-config.
354354

355-
GIT_TEST_PROTOCOL_VERSION=<n>, when set, overrides the
356-
'protocol.version' setting to n if it is less than n.
355+
GIT_TEST_PROTOCOL_VERSION=<n>, when set, makes 'protocol.version'
356+
default to n.
357357

358358
GIT_TEST_FULL_IN_PACK_ARRAY=<boolean> exercises the uncommon
359359
pack-objects code path where there are more than 1024 packs even if

0 commit comments

Comments
 (0)