summaryrefslogtreecommitdiff
path: root/repo-settings.c
diff options
context:
space:
mode:
authorElijah Newren <newren@gmail.com>2022-02-02 03:42:38 (GMT)
committerJunio C Hamano <gitster@pobox.com>2022-02-02 17:36:17 (GMT)
commita68c5b9eba0e62af19a84e1f8945fcdef06c96d1 (patch)
tree9d4fc56f8e8b9ee64eeaa5c37fdcf5eff0737010 /repo-settings.c
parente9d7761bb94f20acc98824275e317fa82436c25d (diff)
downloadgit-a68c5b9eba0e62af19a84e1f8945fcdef06c96d1.zip
git-a68c5b9eba0e62af19a84e1f8945fcdef06c96d1.tar.gz
git-a68c5b9eba0e62af19a84e1f8945fcdef06c96d1.tar.bz2
repo-settings: fix checking for fetch.negotiationAlgorithm=default
In commit 3050b6dfc75d (repo-settings.c: simplify the setup, 2021-09-21), the branch for handling fetch.negotiationAlgorithm=default was deleted. Since this value is documented in Documentation/config/fetch.txt, restore the check for this value. Note that this change caused an observable bug: if someone sets feature.experimental=true in config, and then passes "-c fetch.negotiationAlgorithm=default" on the command line in an attempt to override the config, then the override is ignored. Fix the bug by not ignoring the value of "default". Technically, before commit 3050b6dfc75d, repo-settings would treat any fetch.negotiationAlgorithm value other than "skipping" or "noop" as a request for "default", but I think it probably makes more sense to ignore such broken requests and leave fetch.negotiationAlgorithm with the default value rather than the value of "default". (If that sounds confusing, note that "default" is usually the default value, but when feature.experimental=true, "skipping" is the default value.) Signed-off-by: Elijah Newren <newren@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'repo-settings.c')
-rw-r--r--repo-settings.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/repo-settings.c b/repo-settings.c
index b93e91a..27f2306 100644
--- a/repo-settings.c
+++ b/repo-settings.c
@@ -82,6 +82,8 @@ void prepare_repo_settings(struct repository *r)
r->settings.fetch_negotiation_algorithm = FETCH_NEGOTIATION_SKIPPING;
else if (!strcasecmp(strval, "noop"))
r->settings.fetch_negotiation_algorithm = FETCH_NEGOTIATION_NOOP;
+ else if (!strcasecmp(strval, "default"))
+ r->settings.fetch_negotiation_algorithm = FETCH_NEGOTIATION_DEFAULT;
}
/*