Re: [PATCH v3 2/3] repo-settings: fix error handling for unknown values
"Elijah Newren via GitGitGadget" <gitgitgadget@gmail.com> writes:
Show 29 quoted lines
> From: Elijah Newren <newren@gmail.com>
>
> In commit af3a67de01 ("negotiator: unknown fetch.negotiationAlgorithm
> should error out", 2018-08-01), error handling for an unknown
> fetch.negotiationAlgorithm was added with the code die()ing. This was
> also added to the documentation for the fetch.negotiationAlgorithm
> option, to make it explicit that the code would die on unknown values.
>
> This behavior was lost with commit aaf633c2ad ("repo-settings: create
> feature.experimental setting", 2019-08-13). Restore it so that the
> behavior again matches the documentation.
>
> Signed-off-by: Elijah Newren <newren@gmail.com>
> ---
> repo-settings.c | 2 ++
> t/t5500-fetch-pack.sh | 7 +++++++
> 2 files changed, 9 insertions(+)
>
> diff --git a/repo-settings.c b/repo-settings.c
> index 38c10f9977b..41e1c30845f 100644
> --- a/repo-settings.c
> +++ b/repo-settings.c
> @@ -87,6 +87,8 @@ void prepare_repo_settings(struct repository *r)
> r->settings.fetch_negotiation_algorithm = FETCH_NEGOTIATION_NOOP;
> else if (!strcasecmp(strval, "default"))
> r->settings.fetch_negotiation_algorithm = FETCH_NEGOTIATION_DEFAULT;
> + else
> + die("unknown fetch negotiation algorithm '%s'", strval);
> }Show 18 quoted lines
> diff --git a/t/t5500-fetch-pack.sh b/t/t5500-fetch-pack.sh
> index 666502ed832..41ea9f25de6 100755
> --- a/t/t5500-fetch-pack.sh
> +++ b/t/t5500-fetch-pack.sh
> @@ -971,6 +971,13 @@ test_expect_success 'same as last but with config overrides' '
> -c fetch.negotiationAlgorithm=default
> '
>
> +test_expect_success 'ensure bogus fetch.negotiationAlgorithm yields error' '
> + test_when_finished rm -rf clientv0 &&
> + cp -r client clientv0 &&
> + test_must_fail git -C clientv0 --fetch.negotiationAlgorithm=bogus \
> + fetch origin server_has both_have_2
> +'
> +
> test_expect_success 'filtering by size' '
> rm -rf server client &&
> test_create_repo server &&