Re: [Outreachy PATCH v6 1/3] environment: stop storing `core.attributesFile` globally
- From
- Phillip Wood <phillip.wood123@gmail.com>
- Date
- Feb 11, 2026, 09:31 UTC
- Message-ID
- <37abfe28-ff89-460a-962d-4503ec3f7975@gmail.com>
- In-Reply-To
- <aYsEpvFwCSHb5DYO@ubuntu>
Thanks for the backtrace which helped me spot the problem though I should have spotted this yesterday. The problem is in initialize_repository()
Show 12 quoted lines
> void initialize_repository(struct repository *repo)
> {
> + if (repo->initialized)
> + BUG("repository initialized already");
> + repo->initialized = true;
> +
> repo->remote_state = remote_state_new();
> repo->parsed_objects = parsed_object_pool_new(repo);
> ALLOC_ARRAY(repo->index, 1);
> index_state_init(repo->index, repo);
> repo->check_deprecated_config = true;
> + repo_config_values_init(repo_config_values(repo));Here you need to use repo->config_values_private_ instead of using the accessor as it is fine to initialize the config values to their defaults in any instance, it is only when we read them that we want to assert that we're reading from "the_repository".
Thanks
Phillip
Show 68 quoted lines
> > /* > * When a command runs inside a repository, it learns what > > Some of the tests that fail are related to the submodule and a > couple output is shown below > > ./t7412-submodule-absorbgitdirs.sh -i -v > ... > Initialized empty Git repository in /home/ubuntu/Code/open_source/git/t/trash directory.t7412-submodule-absorbgitdirs/sub1/.git/ > [master (root-commit) 50e526b] first > Author: A U Thor <author@example.com> > 1 file changed, 1 insertion(+) > create mode 100644 first.t > BUG: repository.c:56: trying to read config from wrong repository instance > Aborted (core dumped) > not ok 1 - setup a real submodule > # > # cwd="$(pwd)" && > # git init sub1 && > # test_commit -C sub1 first && > # git submodule add ./sub1 && > # test_tick && > # git commit -m superproject > # > 1..1 > > ./t4027-diff-submodule.sh -i -v > ... > Initialized empty Git repository in /home/ubuntu/Code/open_source/git/t/trash directory.t4027-diff-submodule/sub/.git/ > [master (root-commit) 4431e0b] submodule > Author: A U Thor <author@example.com> > 1 file changed, 1 insertion(+) > create mode 100644 world > BUG: repository.c:56: trying to read config from wrong repository instance > Aborted (core dumped) > not ok 1 - setup > # > # test_tick && > # test_create_repo sub && > # ( > # cd sub && > # echo hello >world && > # git add world && > # git commit -m submodule > # ) && > # > # test_tick && > # echo frotz >nitfol && > # git add nitfol sub && > # git commit -m superproject && > # > # ( > # cd sub && > # echo goodbye >world && > # git add world && > # git commit -m "submodule #2" > # ) && > # > # git -C sub rev-list HEAD >revs && > # set x $(cat revs) && > # echo ":160000 160000 $3 $ZERO_OID M sub" >expect && > # subtip=$3 subprev=$2 > # > 1..1 > > Thanks >