git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Justin Tobler <jltobler@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH v3 3/4] fetch-pack: split out fsck config parsing
Date: Thu, 28 Nov 2024 12:25:44 +0900	[thread overview]
Message-ID: <xmqqed2wox8n.fsf@gitster.g> (raw)
In-Reply-To: <20241127233312.27710-4-jltobler@gmail.com> (Justin Tobler's message of "Wed, 27 Nov 2024 17:33:11 -0600")

Justin Tobler <jltobler@gmail.com> writes:

> For `fetch_pack_fsck_config()` to discern between errors and unhandled
> config variables, the return code when `git_config_path()` errors is
> changed to a different value also indicating success. This frees up the
> previous return code to now indicate the provided config variable
> was unhandled. The behavior remains functionally the same.

> @@ -1866,9 +1866,9 @@ static int fetch_pack_config_cb(const char *var, const char *value,
>  		char *path ;
>  
>  		if (git_config_pathname(&path, var, value))
> -			return 1;
> +			return 0;

So, after getting complaint about a misconfiguration, the caller
used to be able to, if they wanted to, tell two cases apart: a
misconfigured variable was ignored here, and we happily parsed the
configuration.  Now they no longer can tell them apart, because we
return 0 for both cases.

> -		strbuf_addf(&fsck_msg_types, "%cskiplist=%s",
> -			fsck_msg_types.len ? ',' : '=', path);
> +		strbuf_addf(msg_types, "%cskiplist=%s",
> +			msg_types->len ? ',' : '=', path);
>  		free(path);
>  		return 0;
>  	}
> @@ -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;
> +}

And a 1 is returned to signal a "we didn't see what we care about".

> +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;
>  }

And we catch that 1 and ask git_default_config() to use what we
didn't use.

OK.  If I were doing this patch, I would probably have chosen not to
change the value used to signal "a misconfiguration but that is not
too serious so we'll ignore after warning", picked another and new
value, like 2, to signal "the key is not something we care about",
which would mean fetch_pack_config_cb() would call "default" only
when it sees 2.  But with the current callers, and with the callers
after this series, it is not necessary.  If we need to accomodate
other new callers later, we can make such an update then.

This step, together with other patches, are nicely done.

Will queue.  Thanks.

  reply	other threads:[~2024-11-28  3:25 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
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 [this message]
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=xmqqed2wox8n.fsf@gitster.g \
    --to=gitster@pobox.com \
    --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).