Re: [Outreachy PATCH v2] environment: move "core.attributesFile" into repo-setting
- From
- Phillip Wood <phillip.wood123@gmail.com>
- Date
- Jan 7, 2026, 10:26 UTC
- Message-ID
- <922629dc-828c-4bdf-939c-b38b7b59e8e8@gmail.com>
- In-Reply-To
- <CAD=f0L9H5Q=zW02nr11OSBNgFH3UMLwVjVjn3zhgZ2rjwE85WA@mail.gmail.com>
On 06/01/2026 13:44, Bello Olamide wrote:
Show 24 quoted lines
> On Tue, 6 Jan 2026 at 10:33, Bello Olamide <belkid98@gmail.com> wrote: >> >> On Mon, 5 Jan 2026 at 23:28, Junio C Hamano <gitster@pobox.com> wrote: >>> >>> Phillip Wood <phillip.wood123@gmail.com> writes: >>> >>>> On 05/01/2026 14:23, Phillip Wood wrote: >>>>> >>>>> It is quite common that moving from parsing config settings eagerly by >>>>> calling repo_config() at startup to parsing them lazily via 'stuct >>>>> repo_settings' causes regressions like this. We really should find a way >>>>> to address that before moving more settings into 'struct repo_settings' >>>> >>>> See >>>> https://lore.kernel.org/git/d61c966b-61ae-4ba9-b983-c8dab6e2c292@gmail.com >>>> for some discussion about a possible solution. >>> >>> Nice, but I suspect it would be an improvement already without >>> passing repository instance via git_default_config() and instead >>> have the code use the_repository; it is even possible not to have >>> any repository when the callchain executes. > > But won't this be a temporary solution since the goal is to prevent the use of > `the_repository`?
Yes but it would be a good start as passing a repository down to git_default_config() will be quite invasive. It would certainly be better if we can find a solution that uses the repository passed to command when it is non-NULL. Unfortunately commands like "git diff --no-index" are passed a NULL repository but we have chosen to store our config in a `struct repository` and so we need some kind of fake repository for those commands. If we stored our config in a separate struct we wouldn't need to fake a repository but then we'd have to pass the config round separately to the repository which is a pain. Perhaps git_default_config() could use `the_repository` when it's given a NULL pointer for the callback data.
Thanks
Phillip