diff options
author | Taylor Blau <me@ttaylorr.com> | 2024-10-25 14:02:36 -0400 |
---|---|---|
committer | Taylor Blau <me@ttaylorr.com> | 2024-10-25 14:02:36 -0400 |
commit | 0ab43ed95c6cf598ba6d02dabaa5959dfd48ecec (patch) | |
tree | eddae602bfd7eba8d4b33450f950fff0900fff61 /git.c | |
parent | dca32b82885f6f166ea433c5acd3c1ac84865529 (diff) | |
parent | 528d3e4d53dd24b9efad3213736f1d6212c80454 (diff) |
Merge branch 'jc/a-commands-without-the-repo'
Commands that can also work outside Git have learned to take the
repository instance "repo" when we know we are in a repository, and
NULL when we are not, in a parameter. The uses of the_repository
variable in a few of them have been removed using the new calling
convention.
* jc/a-commands-without-the-repo:
archive: remove the_repository global variable
annotate: remove usage of the_repository global
git: pass in repo to builtin based on setup_git_directory_gently
Diffstat (limited to 'git.c')
-rw-r--r-- | git.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -444,6 +444,7 @@ static int handle_alias(int *argcp, const char ***argv) static int run_builtin(struct cmd_struct *p, int argc, const char **argv, struct repository *repo) { int status, help; + int no_repo = 1; struct stat st; const char *prefix; int run_setup = (p->option & (RUN_SETUP | RUN_SETUP_GENTLY)); @@ -455,9 +456,9 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv, struct if (run_setup & RUN_SETUP) { prefix = setup_git_directory(); + no_repo = 0; } else if (run_setup & RUN_SETUP_GENTLY) { - int nongit_ok; - prefix = setup_git_directory_gently(&nongit_ok); + prefix = setup_git_directory_gently(&no_repo); } else { prefix = NULL; } @@ -480,7 +481,7 @@ static int run_builtin(struct cmd_struct *p, int argc, const char **argv, struct trace2_cmd_name(p->cmd); validate_cache_entries(repo->index); - status = p->fn(argc, argv, prefix, (p->option & RUN_SETUP)? repo : NULL); + status = p->fn(argc, argv, prefix, no_repo ? NULL : repo); validate_cache_entries(repo->index); if (status) |