summaryrefslogtreecommitdiff
path: root/protocol.c
diff options
context:
space:
mode:
Diffstat (limited to 'protocol.c')
-rw-r--r--protocol.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/protocol.c b/protocol.c
index 5e636785d1..d390391eba 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,6 +30,15 @@ enum protocol_version get_protocol_version_config(void)
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);
+ return env;
+ }
+
return protocol_v0;
}