[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