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

Re: [PATCH v2 05/13] submodule-config: stop registering submodule sources

From
Patrick Steinhardt <ps@pks.im>
Date
Sep 7, 2026, 07:50 UTC
Message-ID
<ap5sqR6RBamJjEeP@pks.im>
In-Reply-To
<ap2wj0vK0-VUvaW5@denethor>
On Sun, Sep 06, 2026 at 01:38:15PM -0500, Justin Tobler wrote:
Show 18 quoted lines
> On 26/09/02 03:34PM, Patrick Steinhardt wrote:
> > When reading the ".gitmodules" file from a blob in a repository other
> > than `the_repository`, we register the repository's object database as
> > an in-memory source of `the_repository`'s object database. This call has
> > its origins in d9b8b8f896 (submodule-config.c: use repo_get_oid for
> > reading .gitmodules, 2019-04-16): back then, `config_with_options()` was
> > not able to read a blob from an arbitrary repository, but would always
> > read it via `the_repository`. So even though the blob could be resolved
> > in the submodule repository via `repo_get_oid()`, the submodule's object
> > database had to be registered as an in-memory source of `the_repository`
> > so that the subsequent object read was able to find the blob at all.
> 
> Ok, so IIUC the problem was that a gitmodule blob from a repository that
> is not "the_repository" would fail to be read by `config_with_options()`
> because it would only read objects from "the_repository". The workaround
> was to add the other repositories as another source to ensure the
> gitmodule blob could be read. I had to reread the commit message a
> couple of times to follow, but I think it makes sense now.

Yes. Do you think I should rewrite the commit message to make it a bit less dense? Otherwise I'll leave it as-is for now.

Patrick
Previous: Justin ToblerNext: Justin Tobler
Message 10 of 23 in “odb: stop registering in-memory sources”
  1. 00/13 odb: stop registering in-memory sourcesPatrick Steinhardt, Sep 2, 2026
  2. 01/13 cache-tree: drop `the_repository` in `cache_tree_fully_valid()`Patrick Steinhardt, Sep 2, 2026
  3. 02/13 cache-tree: remove dependency on `the_repository`Patrick Steinhardt, Sep 2, 2026
  4. Karthik NayakSep 4, 2026
  5. Patrick SteinhardtSep 7, 2026
  6. 03/13 submodule-config: remove uses of `the_repository`Patrick Steinhardt, Sep 2, 2026
  7. 04/13 submodule-config: stop using `the_hash_algo`Patrick Steinhardt, Sep 2, 2026
  8. 05/13 submodule-config: stop registering submodule sourcesPatrick Steinhardt, Sep 2, 2026
  9. Justin ToblerSep 6, 2026
  10. Patrick SteinhardtSep 7, 2026
  11. Justin ToblerSep 8, 2026
  12. Patrick SteinhardtSep 9, 2026
  13. 06/13 builtin/grep: stop registering submodule ODB as sourcePatrick Steinhardt, Sep 2, 2026
  14. 07/13 odb: remove infrastructure to register submodule sourcesPatrick Steinhardt, Sep 2, 2026
  15. Karthik NayakSep 4, 2026
  16. 08/13 tmp-objdir: drop unused function to register alternatePatrick Steinhardt, Sep 2, 2026
  17. 09/13 odb/packed: fix memory leaks when freeing sourcePatrick Steinhardt, Sep 2, 2026
  18. 10/13 builtin/multi-pack-index: refuse unknown sources with "--object-dir="Patrick Steinhardt, Sep 2, 2026
  19. Justin ToblerSep 8, 2026
  20. 11/13 t/helper: adapt read-midx to not link ad-hoc source anymorePatrick Steinhardt, Sep 2, 2026
  21. 12/13 t/helper: stop registering alternates in "ref-store" commandPatrick Steinhardt, Sep 2, 2026
  22. 13/13 odb: remove the ability to link sources ad-hocPatrick Steinhardt, Sep 2, 2026
  23. Karthik NayakSep 4, 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.