git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [Outreachy PATCH v6 1/3] environment: stop storing `core.attributesFile` globally

From
PWPhillip 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
> 
Previous: Bello OlamideNext: Bello Olamide
Message 4 of 8 in “Re: [Outreachy PATCH v6 1/3] environment: stop storing `core.attributesFile` globally”
  1. Bello Caleb OlamideFeb 10, 2026
  2. Phillip WoodFeb 10, 2026
  3. Bello OlamideFeb 11, 2026
  4. Phillip WoodFeb 11, 2026
  5. Bello OlamideFeb 11, 2026
  6. Junio C HamanoFeb 11, 2026
  7. Phillip WoodFeb 12, 2026
  8. Junio C HamanoFeb 12, 2026

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.