]> git.ipfire.org Git - thirdparty/git.git/commit - repo-settings.c
repo-settings: fix checking for fetch.negotiationAlgorithm=default
authorElijah Newren <newren@gmail.com>
Wed, 2 Feb 2022 03:42:38 +0000 (03:42 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 2 Feb 2022 17:36:17 +0000 (09:36 -0800)
commita68c5b9eba0e62af19a84e1f8945fcdef06c96d1
tree9d4fc56f8e8b9ee64eeaa5c37fdcf5eff0737010
parente9d7761bb94f20acc98824275e317fa82436c25d
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>
repo-settings.c
t/t5500-fetch-pack.sh