From: Junio C Hamano <gitster@pobox.com>
To: Justin Tobler <jltobler@gmail.com>
Cc: git@vger.kernel.org
Subject: Re: [PATCH 4/5] fetch-pack: expose `fetch_pack_config_cb()`
Date: Fri, 22 Nov 2024 10:57:45 +0900 [thread overview]
Message-ID: <xmqqa5dsc9nq.fsf@gitster.g> (raw)
In-Reply-To: <20241121204119.1440773-5-jltobler@gmail.com> (Justin Tobler's message of "Thu, 21 Nov 2024 14:41:18 -0600")
Justin Tobler <jltobler@gmail.com> writes:
> With `fetch_pack_config_cb()`, fsck configuration gets populated to a
> `fetch_pack_options`. Expose `fetch_pack_config_cb()`, to facilitate
> formatted fsck message configuration generation. In a subsequent commit,
> this is used to wire message configuration to `unbundle()` during bundle
> fetches.
This is generally going in the right direction, but this particular
iteration is highly disappointing for two reasons.
- The callback calls git_default_config() at end. Other callers
may not want it happen. Think of the reason why a new caller may
want to use this callback (see the next item).
- fetch_pack_config_cb() was perfectly good name back when it was
hidden inside fetch-pack.c, as a private internal implementation
detail, EVEN THOUGH it did not give its callers everything that
tries to configure the behaviour of fetch-pack. It ONLY is about
how fsck behaviour is affected. It must be renamed so that any
new caller can realize that it is configuring fsck checking
machinery and not general fetch-pack features.
So, I would suggest making at least two changes.
- rename it to a more sensible name that includes "fsck" somewhere
(as it is about "fetch.fsck.*" configuration variables, "fetch"
should also stay in the name). Let's tentatively call it foo().
- stop calling git_default_config() from foo(). Instead, return
some special value foo() does not currently return, let's say -1
to signal that the key was something foo() was not interested in,
and write a thin replacement helper
static int fetch_pack_config_cb(...)
{
int st = foo(...);
if (st < 0)
return git_default_config(var, value, ctx, cb);
return st;
}
and call that from fetch_pack_config().
No, "foo()" has neither "fetch" or "fsck" in it; I am not suggesting
to use that as the final name ;-).
Thanks.
next prev parent reply other threads:[~2024-11-22 1:57 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 [this message]
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
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=xmqqa5dsc9nq.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 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.