about summary refs log tree commit diff
path: root/third_party/git/protocol.c
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/git/protocol.c')
-rw-r--r--third_party/git/protocol.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/third_party/git/protocol.c b/third_party/git/protocol.c
index 9741f05750..052d7edbb9 100644
--- a/third_party/git/protocol.c
+++ b/third_party/git/protocol.c
@@ -17,30 +17,29 @@ 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)) {
+	if (!git_config_get_string_tmp("protocol.version", &value)) {
 		enum protocol_version version = parse_protocol_version(value);
 
 		if (version == protocol_unknown_version)
 			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_v2;
 }
 
 enum protocol_version determine_protocol_version_server(void)