From: Patrick Steinhardt <ps@pks.im>
To: Justin Tobler <jltobler@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v2 3/4] fetch-pack: split out fsck config parsing
Date: Wed, 27 Nov 2024 06:44:51 +0100 [thread overview]
Message-ID: <Z0ax0_SDtinH6zCY@pks.im> (raw)
In-Reply-To: <20241127005707.319881-4-jltobler@gmail.com>
On Tue, Nov 26, 2024 at 06:57:06PM -0600, Justin Tobler wrote:
> diff --git a/fetch-pack.c b/fetch-pack.c
> index fe1fb3c1b7..e7d4f6e6e2 100644
> --- a/fetch-pack.c
> +++ b/fetch-pack.c
> @@ -1877,14 +1877,24 @@ static int fetch_pack_config_cb(const char *var, const char *value,
> if (!value)
> return config_error_nonbool(var);
> if (is_valid_msg_type(msg_id, value))
> - strbuf_addf(&fsck_msg_types, "%c%s=%s",
> - fsck_msg_types.len ? ',' : '=', msg_id, value);
> + strbuf_addf(msg_types, "%c%s=%s",
> + msg_types->len ? ',' : '=', msg_id, value);
> else
> warning("Skipping unknown msg id '%s'", msg_id);
> return 0;
> }
>
> - return git_default_config(var, value, ctx, cb);
> + return -1;
> +}
> +
> +static int fetch_pack_config_cb(const char *var, const char *value,
> + const struct config_context *ctx, void *cb)
> +{
> + int ret = fetch_pack_fsck_config(var, value, &fsck_msg_types);
> + if (ret < 0)
> + return git_default_config(var, value, ctx, cb);
> +
> + return ret;
> }
>
> static void fetch_pack_config(void)
Okay, this now reads a lot nicer. But I'm sceptical whether we should
return -1 for the case where the value wasn't handled because we now
cannot discern the case where the function returns an error from the
case where it simply didn't handle the value.
In fact, we cannot even use positive values right now as far as I can
see:
- We return 0 on success.
- We return 1 in case `git_config_pathname()` indicates an error.
- We return -1 when there is no value with "fetch.fsck.".
I'd propose to have a look at whether the positive return value from the
second case is actually used anywhere. If not, we can refactor this case
so that we always return negative on errors. And then we could further
adapt the function to return positive in case it didn't handle the
value.
> diff --git a/fetch-pack.h b/fetch-pack.h
> index b5c579cdae..c667b6fbf3 100644
> --- a/fetch-pack.h
> +++ b/fetch-pack.h
> @@ -106,4 +106,7 @@ int report_unmatched_refs(struct ref **sought, int nr_sought);
> */
> int fetch_pack_fsck_objects(void);
>
> +int fetch_pack_fsck_config(const char *var, const char *value,
> + struct strbuf *msg_types);
We should also add some docs here, at the least to document the error
codes.
Patrick
next prev parent reply other threads:[~2024-11-27 5:45 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-21 20:41 [PATCH 0/5] propagate fsck message severity for bundle fetch Justin Tobler
2024-11-21 20:41 ` [PATCH 1/5] bundle: add bundle verification options type Justin Tobler
2024-11-22 1:21 ` Junio C Hamano
2024-11-22 15:22 ` Justin Tobler
2024-11-26 9:08 ` Patrick Steinhardt
2024-11-26 15:59 ` Justin Tobler
2024-11-21 20:41 ` [PATCH 2/5] bundle: support fsck message configuration Justin Tobler
2024-11-22 1:30 ` Junio C Hamano
2024-11-22 15:44 ` Justin Tobler
2024-11-25 1:33 ` Junio C Hamano
2024-11-21 20:41 ` [PATCH 3/5] fetch-pack: introduce `fetch_pack_options` Justin Tobler
2024-11-22 1:46 ` Junio C Hamano
2024-11-22 3:46 ` Junio C Hamano
2024-11-22 17:31 ` Justin Tobler
2024-11-21 20:41 ` [PATCH 4/5] fetch-pack: expose `fetch_pack_config_cb()` Justin Tobler
2024-11-22 1:57 ` Junio C Hamano
2024-11-22 17:41 ` Justin Tobler
2024-11-22 16:45 ` shejialuo
2024-11-27 1:21 ` Justin Tobler
2024-11-21 20:41 ` [PATCH 5/5] transport: propagate fsck configuration during bundle fetch Justin Tobler
2024-11-22 1:59 ` Junio C Hamano
2024-11-27 0:57 ` [PATCH v2 0/4] propagate fsck message severity for " Justin Tobler
2024-11-27 0:57 ` [PATCH v2 1/4] bundle: add bundle verification options type Justin Tobler
2024-11-27 0:57 ` [PATCH v2 2/4] bundle: support fsck message configuration Justin Tobler
2024-11-27 5:44 ` Patrick Steinhardt
2024-11-27 0:57 ` [PATCH v2 3/4] fetch-pack: split out fsck config parsing Justin Tobler
2024-11-27 5:44 ` Patrick Steinhardt [this message]
2024-11-27 17:37 ` Justin Tobler
2024-11-27 0:57 ` [PATCH v2 4/4] transport: propagate fsck configuration during bundle fetch Justin Tobler
2024-11-27 1:39 ` Junio C Hamano
2024-11-27 23:33 ` [PATCH v3 0/4] propagate fsck message severity for " Justin Tobler
2024-11-27 23:33 ` [PATCH v3 1/4] bundle: add bundle verification options type Justin Tobler
2024-11-27 23:33 ` [PATCH v3 2/4] bundle: support fsck message configuration Justin Tobler
2024-11-27 23:33 ` [PATCH v3 3/4] fetch-pack: split out fsck config parsing Justin Tobler
2024-11-28 3:25 ` Junio C Hamano
2024-12-03 9:34 ` Patrick Steinhardt
2024-12-03 14:23 ` Justin Tobler
2024-12-03 14:28 ` Patrick Steinhardt
2024-12-03 23:17 ` Junio C Hamano
2024-12-04 2:39 ` Junio C Hamano
2024-11-27 23:33 ` [PATCH v3 4/4] transport: propagate fsck configuration during bundle fetch Justin Tobler
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=Z0ax0_SDtinH6zCY@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=jltobler@gmail.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).