From: Taylor Blau <me@ttaylorr.com>
To: "Ævar Arnfjörð Bjarmason" <avarab@gmail.com>
Cc: git@vger.kernel.org, Junio C Hamano <gitster@pobox.com>,
Derrick Stolee <dstolee@microsoft.com>,
Jeff Hostetler <git@jeffhostetler.com>,
Patrick Steinhardt <ps@pks.im>, Jeff King <peff@peff.net>
Subject: Re: [PATCH v3 3/5] read-cache & fetch-negotiator: check "enum" values in switch()
Date: Mon, 20 Sep 2021 18:14:44 -0400 [thread overview]
Message-ID: <YUkH1LSa1WcFDmvr@nand.local> (raw)
In-Reply-To: <patch-v3-3.5-d837d905825-20210919T084703Z-avarab@gmail.com>
On Sun, Sep 19, 2021 at 10:47:17AM +0200, Ævar Arnfjörð Bjarmason wrote:
> Change tweak_untracked_cache() in "read-cache.c" to use a switch() to
> have the compiler assert that we checked all possible values in the
> "enum untracked_cache_setting" type, and likewise remove the "default"
> case in fetch_negotiator_init() in favor of checking for
> "FETCH_NEGOTIATION_UNSET" and "FETCH_NEGOTIATION_NONE".
>
> As will be discussed in a subsequent we'll only ever have either of
s/subsequent/& patch/ ?
> these set to FETCH_NEGOTIATION_NONE, FETCH_NEGOTIATION_UNSET and
> UNTRACKED_CACHE_UNSET within the prepare_repo_settings() function
> itself. In preparation for fixing that code let's add a BUG() here to
> mark this as unreachable code.
>
> See ad0fb659993 (repo-settings: parse core.untrackedCache, 2019-08-13)
> for when the "unset" and "keep" handling for core.untrackedCache was
> consolidated, and aaf633c2ad1 (repo-settings: create
> feature.experimental setting, 2019-08-13) for the addition of the
> "default" pattern in "fetch-negotiator.c".
>
> Signed-off-by: Ævar Arnfjörð Bjarmason <avarab@gmail.com>
> ---
> fetch-negotiator.c | 4 +++-
> read-cache.c | 15 ++++++++++-----
> 2 files changed, 13 insertions(+), 6 deletions(-)
>
> diff --git a/fetch-negotiator.c b/fetch-negotiator.c
> index 57ed5784e14..237f92b8696 100644
> --- a/fetch-negotiator.c
> +++ b/fetch-negotiator.c
> @@ -19,8 +19,10 @@ void fetch_negotiator_init(struct repository *r,
> return;
>
> case FETCH_NEGOTIATION_DEFAULT:
> - default:
> default_negotiator_init(negotiator);
> return;
> + case FETCH_NEGOTIATION_NONE:
> + case FETCH_NEGOTIATION_UNSET:
> + BUG("FETCH_NEGOTIATION_UNSET only in prepare_repo_settings()");
I was briefly confused why this BUG message mentioned
FETCH_NEGOTIATION_UNSET, since we only support FETCH_NEGOTIATION_DEFAULT
here.
But then I realized that it said "only in prepare_repo_settings()", and
we're in fetch_negotiator_init(). So this makes sense to me.
Other than the small typo in the patch message, this looks good to me.
Thanks,
Taylor
next prev parent reply other threads:[~2021-09-21 2:20 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-09-16 18:30 [PATCH v2 0/5] repo-settings.c: refactor for clarity, get rid of hacks etc Ævar Arnfjörð Bjarmason
2021-09-16 18:30 ` [PATCH v2 1/5] wrapper.c: add x{un,}setenv(), and use xsetenv() in environment.c Ævar Arnfjörð Bjarmason
2021-09-17 16:57 ` Junio C Hamano
2021-09-17 19:18 ` Ævar Arnfjörð Bjarmason
2021-09-16 18:30 ` [PATCH v2 2/5] environment.c: remove test-specific "ignore_untracked..." variable Ævar Arnfjörð Bjarmason
2021-09-17 17:19 ` Junio C Hamano
2021-09-16 18:30 ` [PATCH v2 3/5] read-cache & fetch-negotiator: check "enum" values in switch() Ævar Arnfjörð Bjarmason
2021-09-17 19:30 ` Junio C Hamano
2021-09-16 18:30 ` [PATCH v2 4/5] repo-settings.c: simplify the setup Ævar Arnfjörð Bjarmason
2021-09-16 18:30 ` [PATCH v2 5/5] repository.h: don't use a mix of int and bitfields Ævar Arnfjörð Bjarmason
2021-09-19 8:47 ` [PATCH v3 0/5] repo-settings.c: refactor for clarity, get rid of hacks etc Ævar Arnfjörð Bjarmason
2021-09-19 8:47 ` [PATCH v3 1/5] wrapper.c: add x{un,}setenv(), and use xsetenv() in environment.c Ævar Arnfjörð Bjarmason
2021-09-20 21:53 ` Taylor Blau
2021-09-20 23:17 ` Ævar Arnfjörð Bjarmason
2021-09-19 8:47 ` [PATCH v3 2/5] environment.c: remove test-specific "ignore_untracked..." variable Ævar Arnfjörð Bjarmason
2021-09-20 22:10 ` Taylor Blau
2021-09-20 23:27 ` Ævar Arnfjörð Bjarmason
2021-09-19 8:47 ` [PATCH v3 3/5] read-cache & fetch-negotiator: check "enum" values in switch() Ævar Arnfjörð Bjarmason
2021-09-20 22:14 ` Taylor Blau [this message]
2021-09-20 23:33 ` Ævar Arnfjörð Bjarmason
2021-09-19 8:47 ` [PATCH v3 4/5] repo-settings.c: simplify the setup Ævar Arnfjörð Bjarmason
2021-09-20 12:42 ` Derrick Stolee
2021-09-20 22:18 ` Taylor Blau
2021-09-19 8:47 ` [PATCH v3 5/5] repository.h: don't use a mix of int and bitfields Ævar Arnfjörð Bjarmason
2021-09-20 22:25 ` Taylor Blau
2021-09-21 13:12 ` [PATCH v4 0/5] repo-settings.c: refactor for clarity, get rid of hacks etc Ævar Arnfjörð Bjarmason
2021-09-21 13:12 ` [PATCH v4 1/5] wrapper.c: add x{un,}setenv(), and use xsetenv() in environment.c Ævar Arnfjörð Bjarmason
2021-09-21 13:13 ` [PATCH v4 2/5] environment.c: remove test-specific "ignore_untracked..." variable Ævar Arnfjörð Bjarmason
2021-09-21 13:13 ` [PATCH v4 3/5] read-cache & fetch-negotiator: check "enum" values in switch() Ævar Arnfjörð Bjarmason
2021-09-21 13:13 ` [PATCH v4 4/5] repo-settings.c: simplify the setup Ævar Arnfjörð Bjarmason
2021-09-21 13:13 ` [PATCH v4 5/5] repository.h: don't use a mix of int and bitfields Ævar Arnfjörð Bjarmason
2021-09-21 15:58 ` [PATCH v4 0/5] repo-settings.c: refactor for clarity, get rid of hacks etc Derrick Stolee
2021-09-21 20:46 ` Taylor Blau
2021-09-22 20:23 ` Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YUkH1LSa1WcFDmvr@nand.local \
--to=me@ttaylorr.com \
--cc=avarab@gmail.com \
--cc=dstolee@microsoft.com \
--cc=git@jeffhostetler.com \
--cc=git@vger.kernel.org \
--cc=gitster@pobox.com \
--cc=peff@peff.net \
--cc=ps@pks.im \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.