Re: [PATCH v3 2/3] repo-settings: fix error handling for unknown values

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Elijah Newren via GitGitGadget" <gitgitgadget@xxxxxxxxx> writes:

> From: Elijah Newren <newren@xxxxxxxxx>
>
> 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@xxxxxxxxx>
> ---
>  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);
>  	}

Makes sense.

> 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 &&



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux