Re: [PATCH v2 4/8] repository: add repo reference to index_state
From: Junio C Hamano <hidden>
Date: 2021-01-22 22:29:07
"Derrick Stolee via GitGitGadget" [off-list ref] writes:
From: Derrick Stolee <redacted> It will be helpful to add behavior to index operations that might trigger an object lookup. Since each index belongs to a specific repository, add a 'repo' pointer to struct index_state that allows access to this repository. This will prevent future changes from needing to pass an additional 'struct repository *repo' parameter and instead rely only on the 'struct index_state *istate' parameter. Signed-off-by: Derrick Stolee <redacted> ---
I think this makes sense, but shouldn't we insist on these bidirectional links to point at each other? Otherwise we cannot simplify the function signatures safely later. That is ...
quoted hunk
+ /* Complete the double-reference */ + if (!repo->index->repo) + repo->index->repo = repo; +
else if (repo->index->repo != repo)
BUG("the repo->index instance does not belong to the repo???");
... a check like this?
return read_index_from(repo->index, repo->index_file, repo->gitdir); }