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

[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
Previous: Jayesh Daga via GitGitGadgetNext: Jayesh Daga via GitGitGadget
Message 6 of 9 in “unpack-trees: use explicit repository in trace2 calls”
  1. unpack-trees: use explicit repository in trace2 callsJayesh Daga via GitGitGadget, Mar 30, 2026
  2. Patrick SteinhardtMar 31, 2026
  3. Junio C HamanoMar 31, 2026
  4. Junio C HamanoMar 31, 2026
  5. 0/2 unpack-trees: use explicit repository in trace2 callsJayesh Daga via GitGitGadget, Mar 31, 2026
  6. 1/2 unpack-trees: use repository from index instead of globalJayesh Daga via GitGitGadget, Mar 31, 2026
  7. 2/2 unpack-trees: use repository from index instead of globalJayesh Daga via GitGitGadget, Mar 31, 2026
  8. Junio C HamanoMar 31, 2026
  9. Junio C HamanoJun 9, 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.