[PATCH v2 1/2] unpack-trees: use repository from index instead of global
- From
Jayesh Daga via GitGitGadget <gitgitgadget@gmail.com>
- Date
- Mar 31, 2026, 15:34 UTC
- Message-ID
- <f03ea194e34bef7e398a5f1142cee0a439464cc5.1774971267.git.gitgitgadget@gmail.com>
- In-Reply-To
- <pull.2258.v2.git.git.1774971267.gitgitgadget@gmail.com>
From: Jayesh Daga <jayeshdaga99@gmail.com>
unpack_trees() currently initializes its repository from the global 'the_repository', even though a repository instance is already available via the source index.
Use 'o->src_index->repo' instead of the global variable, reducing reliance on global repository state.
This is a step towards eliminating global repository usage in unpack_trees().
Suggested-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Jayesh Daga <jayeshdaga99@gmail.com> --- unpack-trees.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/unpack-trees.c b/unpack-trees.c index 998a1e6dc7..191b9d4769 100644 --- a/unpack-trees.c +++ b/unpack-trees.c @@ -1780,14 +1780,14 @@ static int clear_ce_flags(struct index_state *istate, xsnprintf(label, sizeof(label), "clear_ce_flags(0x%08lx,0x%08lx)", (unsigned long)select_mask, (unsigned long)clear_mask); - trace2_region_enter("unpack_trees", label, the_repository); + trace2_region_enter("unpack_trees", label, istate->repo); rval = clear_ce_flags_1(istate, istate->cache, istate->cache_nr, &prefix, select_mask, clear_mask, pl, 0, 0); - trace2_region_leave("unpack_trees", label, the_repository); + trace2_region_leave("unpack_trees", label, istate->repo); stop_progress(&istate->progress); return rval; @@ -1903,7 +1903,7 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options BUG("o->df_conflict_entry is an output only field"); trace_performance_enter(); - trace2_region_enter("unpack_trees", "unpack_trees", the_repository); + trace2_region_enter("unpack_trees", "unpack_trees", repo); prepare_repo_settings(repo); if (repo->settings.command_requires_full_index) { @@ -2007,9 +2007,9 @@ int unpack_trees(unsigned len, struct tree_desc *t, struct unpack_trees_options } trace_performance_enter(); - trace2_region_enter("unpack_trees", "traverse_trees", the_repository); + trace2_region_enter("unpack_trees", "traverse_trees", repo); ret = traverse_trees(o->src_index, len, t, &info); - trace2_region_leave("unpack_trees", "traverse_trees", the_repository); + trace2_region_leave("unpack_trees", "traverse_trees", repo); trace_performance_leave("traverse_trees"); if (ret < 0) goto return_failed; @@ -2106,7 +2106,7 @@ done: dir_clear(o->internal.dir); o->internal.dir = NULL; } - trace2_region_leave("unpack_trees", "unpack_trees", the_repository); + trace2_region_leave("unpack_trees", "unpack_trees", repo); trace_performance_leave("unpack_trees"); return ret;
-- gitgitgadget