Thread (5 messages) 5 messages, 3 authors, 2h ago

[Outreachy PATCH] merge: stop using the_repository

flat view
HOTtoday

From: Okhuomon Ajayi <hidden>
Date: 2026-10-15 14:25:43
Subsystem: the rest · Maintainer: Linus Torvalds

try_merge_command() and checkout_fast_forward() already receive a
repository, so use it instead of relying on global variables.

Add a repository parameter to merge_argument() and pass it
from try_merge_command(). Use the repository in
checkout_fast_forward() when parsing trees.

Remove the now-unnecessary USE_THE_REPOSITORY_VARIABLE
definition.

Signed-off-by: Okhuomon Ajayi <redacted>
---
 merge.c | 16 +++++++---------
 1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/merge.c b/merge.c
index 0f5e823e63..85dad63a94 100644
--- a/merge.c
+++ b/merge.c
@@ -1,5 +1,3 @@
-#define USE_THE_REPOSITORY_VARIABLE
-
 #include "git-compat-util.h"
 #include "gettext.h"
 #include "hash.h"
@@ -14,9 +12,9 @@
 #include "tree-walk.h"
 #include "unpack-trees.h"
 
-static const char *merge_argument(struct commit *commit)
+static const char *merge_argument(struct repository *r, struct commit *commit)
 {
-	return oid_to_hex(commit ? &commit->object.oid : the_hash_algo->empty_tree);
+	return oid_to_hex(commit ? &commit->object.oid : r->hash_algo->empty_tree);
 }
 
 int try_merge_command(struct repository *r,
@@ -32,11 +30,11 @@ int try_merge_command(struct repository *r,
 	for (size_t i = 0; i < xopts_nr; i++)
 		strvec_pushf(&cmd.args, "--%s", xopts[i]);
 	for (j = common; j; j = j->next)
-		strvec_push(&cmd.args, merge_argument(j->item));
+		strvec_push(&cmd.args, merge_argument(r, j->item));
 	strvec_push(&cmd.args, "--");
 	strvec_push(&cmd.args, head_arg);
 	for (j = remotes; j; j = j->next)
-		strvec_push(&cmd.args, merge_argument(j->item));
+		strvec_push(&cmd.args, merge_argument(r, j->item));
 
 	cmd.git_cmd = 1;
 	ret = run_command(&cmd);
@@ -68,18 +66,18 @@ int checkout_fast_forward(struct repository *r,
 	memset(&trees, 0, sizeof(trees));
 	memset(&t, 0, sizeof(t));
 
-	trees[nr_trees] = repo_parse_tree_indirect(the_repository, head);
+	trees[nr_trees] = repo_parse_tree_indirect(r, head);
 	if (!trees[nr_trees++]) {
 		rollback_lock_file(&lock_file);
 		return -1;
 	}
-	trees[nr_trees] = repo_parse_tree_indirect(the_repository, remote);
+	trees[nr_trees] = repo_parse_tree_indirect(r, remote);
 	if (!trees[nr_trees++]) {
 		rollback_lock_file(&lock_file);
 		return -1;
 	}
 	for (i = 0; i < nr_trees; i++) {
-		if (repo_parse_tree(the_repository, trees[i]) < 0) {
+		if (repo_parse_tree(r, trees[i]) < 0) {
 			rollback_lock_file(&lock_file);
 			return -1;
 		}
-- 
2.54.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help