)]}'
{
  "commit": "a532feba892a3034d04b379e61c3cb18756007d1",
  "tree": "7969d3d9f3f50e915e0b3c6b73394dae358e3e85",
  "parents": [
    "e4ad79fd9d8984827b2dc304f1ed99fa69e1ad11"
  ],
  "author": {
    "name": "Patrick Steinhardt",
    "email": "ps@pks.im",
    "time": "Fri Sep 11 07:51:48 2026 +0200"
  },
  "committer": {
    "name": "Junio C Hamano",
    "email": "gitster@pobox.com",
    "time": "Fri Sep 11 08:46:10 2026 -0700"
  },
  "message": "submodule-config: stop registering submodule sources\n\nWhen reading the \".gitmodules\" file from a blob in a repository other\nthan `the_repository`, we register that repository\u0027s object database as\nan in-memory source of `the_repository`\u0027s object database. This call has\nits origins in d9b8b8f896 (submodule-config.c: use repo_get_oid for\nreading .gitmodules, 2019-04-16): back then, `config_with_options()` was\nnot able to read a blob from an arbitrary repository, but would always\nread it via `the_repository`. So even though the blob could be resolved\nin the submodule repository via `repo_get_oid()`, the submodule\u0027s object\ndatabase had to be registered as an in-memory source of `the_repository`\nso that the subsequent object read was able to find the blob at all.\n\nThat need went away with e3e8bf046e (submodule-config: pass repo\nupon blob config read, 2021-08-16), which taught the config machinery\nto read the blob from the repository we pass to it. The same series\nconverted the eager submodule source registration into a lazy mechanism\nthat only registers submodule sources with the object database when an\nobject lookup failed. The intent though was that we don\u0027t ever have to\nfall back to this mechanism in the first place, and to verify that this\nis the case we introduced GIT_TEST_FATAL_REGISTER_SUBMODULE_ODB. If set,\nthen any such lazy registration would cause us to BUG.\n\nAt the beginning of this series, we still triggered this bug in t1092.\nBut now that we have converted the \"cache-tree\" subsystem to not depend\non `the_repository` anymore it also knows to properly access objects via\nthe submodule. With that change, GIT_TEST_FATAL_REGISTER_SUBMODULE_ODB\ndoes not cause any failures anymore.\n\nRemove the call to `odb_add_submodule_source_by_path()`. This removes\nthe last user of `the_repository`, so at the same time we can also get\nrid of `USE_THE_REPOSITORY_VARIABLE`.\n\nSigned-off-by: Patrick Steinhardt \u003cps@pks.im\u003e\nSigned-off-by: Junio C Hamano \u003cgitster@pobox.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7c73fa108b3b5bff62715973aaf8f8f073a04b57",
      "old_mode": 33188,
      "old_path": "submodule-config.c",
      "new_id": "37c3be377bcc18956ca679bb20ecd50e7e250839",
      "new_mode": 33188,
      "new_path": "submodule-config.c"
    }
  ]
}
