Subject: [PATCH 09/10] tree: stop using the_repository

From: René Scharfe <[email-masked]>
Date: Fri, 9 Jan 2026 22:30:20 +0100

Push the use of the_repository to the remaining callers by turning the
compatibility wrappers into macros, whose use still requires
USE_THE_REPOSITORY_VARIABLE to be defined.

Signed-off-by: René Scharfe <[email-masked]>
---
 tree.c | 12 ------------
 tree.h |  9 +++------
 2 files changed, 3 insertions(+), 18 deletions(-)

diff --git a/tree.c b/tree.c
index edcf6a284cb..d703ab97c83 100644
--- a/tree.c
+++ b/tree.c
@@ -1,5 +1,3 @@
-#define USE_THE_REPOSITORY_VARIABLE
-
 #include "git-compat-util.h"
 #include "hex.h"
 #include "tree.h"
@@ -185,11 +183,6 @@ int parse_tree_buffer(struct tree *item, void *buffer, unsigned long size)
 	return 0;
 }
 
-int parse_tree_gently(struct tree *item, int quiet_on_missing)
-{
-	return repo_parse_tree_gently(the_repository, item, quiet_on_missing);
-}
-
 int repo_parse_tree_gently(struct repository *r, struct tree *item,
 			   int quiet_on_missing)
 {
@@ -219,11 +212,6 @@ void free_tree_buffer(struct tree *tree)
 	tree->object.parsed = 0;
 }
 
-struct tree *parse_tree_indirect(const struct object_id *oid)
-{
-	return repo_parse_tree_indirect(the_repository, oid);
-}
-
 struct tree *repo_parse_tree_indirect(struct repository *r,
 				      const struct object_id *oid)
 {
diff --git a/tree.h b/tree.h
index 9037891d30f..677382eed86 100644
--- a/tree.h
+++ b/tree.h
@@ -19,13 +19,10 @@ struct tree *lookup_tree(struct repository *r, const struct object_id *oid);
 
 int parse_tree_buffer(struct tree *item, void *buffer, unsigned long size);
 
-int parse_tree_gently(struct tree *tree, int quiet_on_missing);
+#define parse_tree_gently(t, q) repo_parse_tree_gently(the_repository, t, q)
 int repo_parse_tree_gently(struct repository *r, struct tree *item,
 			   int quiet_on_missing);
-static inline int parse_tree(struct tree *tree)
-{
-	return parse_tree_gently(tree, 0);
-}
+#define parse_tree(t) repo_parse_tree(the_repository, t)
 static inline int repo_parse_tree(struct repository *r, struct tree *item)
 {
 	return repo_parse_tree_gently(r, item, 0);
@@ -33,7 +30,7 @@ static inline int repo_parse_tree(struct repository *r, struct tree *item)
 void free_tree_buffer(struct tree *tree);
 
 /* Parses and returns the tree in the given ent, chasing tags and commits. */
-struct tree *parse_tree_indirect(const struct object_id *oid);
+#define parse_tree_indirect(o) repo_parse_tree_indirect(the_repository, o)
 struct tree *repo_parse_tree_indirect(struct repository *r,
 				      const struct object_id *oid);
 
-- 
2.52.0