From: Jayesh Daga <jayeshdaga99@gmail.com>
trace2 calls in unpack-trees.c use the global 'the_repository', even though the relevant context provides an explicit repository pointer via 'istate->repo' or the local 'repo' variable.
Using the global repository can result in incorrect trace2 output when multiple repository instances are in use, as events may be attributed to the wrong repository.
Use explicit repository pointers instead to ensure correct repository attribution.
Signed-off-by: Jayesh Daga <jayeshdaga99@gmail.com>
---
unpack-trees: use explicit repository in trace2 calls
trace2 calls in unpack-trees.c use the global 'the_repository', even
though the relevant context provides an explicit repository pointer via
'istate->repo' or the local 'repo' variable.
Using the global repository can result in incorrect trace2 output when
multiple repository instances are in use, as events may be attributed to
the wrong repository.
Use explicit repository pointers instead in these call sites to ensure
correct repository attribution.
Signed-off-by: Jayesh Daga jayeshdaga99@gmail.com
cc :Karthik Nayak karthik.188@gmail.comPublished-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2258%2Fjayesh0104%2Funpack-trees-trace2-repo-v1 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2258/jayesh0104/unpack-trees-trace2-repo-v1 Pull-Request: https://github.com/git/git/pull/2258
unpack-trees.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
Show changes to unpack-trees.c +6 −6
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; base-commit: 5361983c075154725be47b65cca9a2421789e410
-- gitgitgadget