summaryrefslogtreecommitdiff
path: root/git.c
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2024-09-23 10:35:09 -0700
committerJunio C Hamano <gitster@pobox.com>2024-09-23 10:35:09 -0700
commitb8e318ea58a0502ff99f37032ee8ac536df4e730 (patch)
treeb93a691c66d28b299794cd97e87d8cd6bf655587 /git.c
parent0f41fd28f9677c6fb700dbc9643ad7d7f3c78f52 (diff)
parent836474560b653271a819c4de9fa60cb097df2067 (diff)
Merge branch 'jc/pass-repo-to-builtins'
The convention to calling into built-in command implementation has been updated to pass the repository, if known, together with the prefix value. * jc/pass-repo-to-builtins: add: pass in repo variable instead of global the_repository builtin: remove USE_THE_REPOSITORY for those without the_repository builtin: remove USE_THE_REPOSITORY_VARIABLE from builtin.h builtin: add a repository parameter for builtin functions
Diffstat (limited to 'git.c')
-rw-r--r--git.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/git.c b/git.c
index 9a618a2740..2fbea24ec9 100644
--- a/git.c
+++ b/git.c
@@ -31,7 +31,7 @@
struct cmd_struct {
const char *cmd;
- int (*fn)(int, const char **, const char *);
+ int (*fn)(int, const char **, const char *, struct repository *);
unsigned int option;
};
@@ -441,7 +441,7 @@ static int handle_alias(int *argcp, const char ***argv)
return ret;
}
-static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
+static int run_builtin(struct cmd_struct *p, int argc, const char **argv, struct repository *repo)
{
int status, help;
struct stat st;
@@ -479,9 +479,9 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv)
trace_argv_printf(argv, "trace: built-in: git");
trace2_cmd_name(p->cmd);
- validate_cache_entries(the_repository->index);
- status = p->fn(argc, argv, prefix);
- validate_cache_entries(the_repository->index);
+ validate_cache_entries(repo->index);
+ status = p->fn(argc, argv, prefix, (p->option & RUN_SETUP)? repo : NULL);
+ validate_cache_entries(repo->index);
if (status)
return status;
@@ -736,7 +736,7 @@ static void handle_builtin(int argc, const char **argv)
builtin = get_builtin(cmd);
if (builtin)
- exit(run_builtin(builtin, argc, argv));
+ exit(run_builtin(builtin, argc, argv, the_repository));
strvec_clear(&args);
}