From: Patrick Steinhardt <ps@pks.im>
To: Karthik Nayak <karthik.188@gmail.com>
Cc: git@vger.kernel.org, shejialuo@gmail.com
Subject: Re: [PATCH] builtin: pass repository to sub commands
Date: Tue, 26 Nov 2024 09:56:09 +0100 [thread overview]
Message-ID: <Z0WNKV5prRE2Hupw@pks.im> (raw)
In-Reply-To: <20241125-374-add-repository-to-subsubcommands-v1-1-637a5e22ba48@gmail.com>
On Mon, Nov 25, 2024 at 03:55:30PM +0100, Karthik Nayak wrote:
> In 9b1cb5070f (builtin: add a repository parameter for builtin
> functions, 2024-09-13) the repository was passed down to all builtin
> commands. This allowed the repository to be passed down to lower layers
> without depending on the global `the_repository` variable.
>
> Continue this work by also passing down the repository parameter from
> the command to sub-commands. This will help pass down the repository to
> other subsystems and cleanup usage of global variables like
> 'the_repository' and 'the_hash_algo'.
One alternative could be to instead pass a caller-provided structure to
the subcommands. Right now that isn't really needed because we tend to
make use of not only `the_repository` as a global variable, but also
because we track all kinds of other variables globally.
So if the code were refactored to instead accept an arbitrary `void *`
pointer, callers could provide a custom structure and pass that along to
its subcommands. In many cases we may end up just passing the repo
directly, but I'm sure there are others where this direction would buy
us additional flexibility and allow us to get rid of even more global
state.
Patrick
next prev parent reply other threads:[~2024-11-26 8:56 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-25 14:55 [PATCH] builtin: pass repository to sub commands Karthik Nayak
2024-11-26 8:46 ` Christian Couder
2024-11-26 9:50 ` karthik nayak
2024-11-26 8:56 ` Patrick Steinhardt [this message]
2024-11-26 9:56 ` karthik nayak
2024-11-26 19:26 ` Junio C Hamano
2024-11-26 11:19 ` [PATCH v2] builtin: allow passing custom data to sub-commands Karthik Nayak
2024-11-26 11:57 ` shejialuo
2024-11-26 16:41 ` karthik nayak
2024-11-26 19:27 ` Junio C Hamano
2024-11-27 9:15 ` karthik nayak
2024-11-27 12:23 ` karthik nayak
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=Z0WNKV5prRE2Hupw@pks.im \
--to=ps@pks.im \
--cc=git@vger.kernel.org \
--cc=karthik.188@gmail.com \
--cc=shejialuo@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).