summaryrefslogtreecommitdiff
path: root/protocol.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocol.c')
-rw-r--r--protocol.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/protocol.c b/protocol.c
index 5e636785d1..803bef5c87 100644
--- a/protocol.c
+++ b/protocol.c
@@ -17,6 +17,9 @@ static enum protocol_version parse_protocol_version(const char *value)
enum protocol_version get_protocol_version_config(void)
{
const char *value;
+ const char *git_test_k = "GIT_TEST_PROTOCOL_VERSION";
+ const char *git_test_v;
+
if (!git_config_get_string_const("protocol.version", &value)) {
enum protocol_version version = parse_protocol_version(value);
@@ -27,7 +30,16 @@ enum protocol_version get_protocol_version_config(void)
return version;
}
- return protocol_v0;
+ 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);
+ return env;
+ }
+
+ return protocol_v2;
}
enum protocol_version determine_protocol_version_server(void)