On Tue, Mar 18, 2025 at 05:28:53PM +0530, Usman Akinyemi wrote: > diff --git a/config.c b/config.c > index 658569af08..e127afaa8f 100644 > --- a/config.c > +++ b/config.c > @@ -2521,6 +2521,10 @@ void repo_config_clear(struct repository *repo) > > void repo_config(struct repository *repo, config_fn_t fn, void *data) > { > + if (!repo) { > + read_very_early_config(fn, data); > + return; > + } I remember discussion that `read_very_early_config()` may not be a good fit here. Most importantly, it ignores any configuration passed on the command line, which I would think is very surprising behaviour. So should we adapt this to instead manually call `config_with_options()` with the expected bits set? Patrick