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

Re: [PATCH 0/5] cache API: always have a "istate->repo"

From
Derrick Stolee <derrickstolee@github.com>
Date
Jan 10, 2023, 15:09 UTC
Message-ID
<84705c15-803f-3062-8a02-474eb1eb053a@github.com>
In-Reply-To
<cover-0.5-00000000000-20230110T060340Z-avarab@gmail.com>
On 1/10/2023 1:17 AM, Ævar Arnfjörð Bjarmason wrote:
Show 18 quoted lines
> The "struct index_state" contains a "repo" member, which should be a
> pointer to the repository for that index, but which due to us
> constructing such structs on an ad-hoc basis in various places wasn't
> always available.
> 
> We'd thus end up with code like this, in the recent
> ds/omit-trailing-hash-in-index topic:
> 
> 	struct repository *r = istate->repo ? istate->repo : the_repository;
> 
> Really we should be able to trust the "istate->repo", but were
> carrying those sorts of conditionals because our index might come from
> a manually constructed source, so we'd have to fall back to
> "the_repository".
> 
> This series changes the relvant code so the "repo" field is always
> non-NULL, as 5/5 here shows we had various workarounds in place for
> that, which can now go away.

Thanks for these changes. I only had a recommended change for Patch 3, along with Philip's recommended commit message fixup.

Glad to wrap up this tech debt.

Thanks, -Stolee

Previous: Derrick StoleeNext: Ævar Arnfjörð Bjarmason
Message 13 of 32 in “cache API: always have a "istate->repo"”
  1. 0/5 cache API: always have a "istate->repo"Ævar Arnfjörð Bjarmason, Jan 10, 2023
  2. 1/5 builtin/difftool.c: { 0 }-initialize rather than using memset()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  3. 2/5 sparse-index.c: expand_to_path() can assume non-NULL "istate"Ævar Arnfjörð Bjarmason, Jan 10, 2023
  4. 3/5 sparse-index API: fix TODO, BUG() out on NULL ensure_full_index()Ævar Arnfjörð Bjarmason, Jan 10, 2023
  5. Philip OakleyJan 10, 2023
  6. Ævar Arnfjörð BjarmasonJan 10, 2023
  7. Derrick StoleeJan 10, 2023
  8. 4/5 read-cache.c: refactor set_new_index_sparsity() for subsequent commitÆvar Arnfjörð Bjarmason, Jan 10, 2023
  9. 5/5 treewide: always have a valid "index_state.repo" memberÆvar Arnfjörð Bjarmason, Jan 10, 2023
  10. Ævar Arnfjörð BjarmasonJan 10, 2023
  11. Jeff HostetlerJan 10, 2023
  12. Derrick StoleeJan 10, 2023
  13. Derrick StoleeJan 10, 2023
  14. 0/6 cache API: always have a "istate->repo"Ævar Arnfjörð Bjarmason, Jan 12, 2023
  15. 1/6 builtin/difftool.c: { 0 }-initialize rather than using memset()Ævar Arnfjörð Bjarmason, Jan 12, 2023
  16. 2/6 sparse-index.c: expand_to_path() can assume non-NULL "istate"Ævar Arnfjörð Bjarmason, Jan 12, 2023
  17. 3/6 sparse-index API: BUG() out on NULL ensure_full_index()Ævar Arnfjörð Bjarmason, Jan 12, 2023
  18. 4/6 read-cache.c: refactor set_new_index_sparsity() for subsequent commitÆvar Arnfjörð Bjarmason, Jan 12, 2023
  19. 5/6 cache API: add a "INDEX_STATE_INIT" macro/function, add release_index()Ævar Arnfjörð Bjarmason, Jan 12, 2023
  20. Derrick StoleeJan 12, 2023
  21. Ævar Arnfjörð BjarmasonJan 12, 2023
  22. Derrick StoleeJan 12, 2023
  23. 6/6 treewide: always have a valid "index_state.repo" memberÆvar Arnfjörð Bjarmason, Jan 12, 2023
  24. Derrick StoleeJan 12, 2023
  25. Derrick StoleeJan 12, 2023
  26. Junio C HamanoJan 13, 2023
  27. Junio C HamanoJan 13, 2023
  28. Ævar Arnfjörð BjarmasonJan 16, 2023
  29. Philip OakleyJan 16, 2023
  30. Junio C HamanoJan 16, 2023
  31. treewide: always have a valid "index_state.repo" memberÆvar Arnfjörð Bjarmason, Jan 17, 2023
  32. Derrick StoleeJan 17, 2023

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.