Remove the_repository global variable for the annotate, apply, and archive bulitins. Changes since V1: * in patch 1, only pass in repo to the bulitin if the repo exists John Cai (4): git: pass in repo for RUN_SETUP_GENTLY annotate: remove usage of the_repository global apply: remove the_repository global variable archive: remove the_repository global variable builtin/annotate.c | 5 ++--- builtin/apply.c | 9 ++++----- builtin/archive.c | 5 ++--- git.c | 11 +++++++++-- 4 files changed, 17 insertions(+), 13 deletions(-) base-commit: 3857aae53f3633b7de63ad640737c657387ae0c6 Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1788%2Fjohn-cai%2Fjc%2Fremove-global-repo-a-v2 Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1788/john-cai/jc/remove-global-repo-a-v2 Pull-Request: https://github.com/git/git/pull/1788 Range-diff vs v1: 1: eceb2d835be ! 1: 5d72c31c6f3 git: pass in repo for RUN_SETUP_GENTLY @@ Commit message Signed-off-by: John Cai <johncai86@xxxxxxxxx> ## git.c ## +@@ git.c: 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 status, help, repo_exists; + struct stat st; + const char *prefix; + int run_setup = (p->option & (RUN_SETUP | RUN_SETUP_GENTLY)); +@@ git.c: static int run_builtin(struct cmd_struct *p, int argc, const char **argv, struct + + if (run_setup & RUN_SETUP) { + prefix = setup_git_directory(); ++ repo_exists = 1; + } else if (run_setup & RUN_SETUP_GENTLY) { + int nongit_ok; + prefix = setup_git_directory_gently(&nongit_ok); ++ ++ if (!nongit_ok) ++ repo_exists = 1; + } else { + prefix = NULL; + } @@ git.c: static int run_builtin(struct cmd_struct *p, int argc, const char **argv, struct trace2_cmd_name(p->cmd); @@ git.c: static int run_builtin(struct cmd_struct *p, int argc, const char **argv, + status = p->fn(argc, + argv, + prefix, -+ ((p->option & RUN_SETUP) || (p->option & RUN_SETUP_GENTLY))? repo : NULL); ++ repo_exists ? repo : NULL); validate_cache_entries(repo->index); if (status) 2: 1bf2b017dd3 = 2: 2a29d113815 annotate: remove usage of the_repository global 3: 4ce463defa8 = 3: d64955a2e27 apply: remove the_repository global variable 4: f6c32ec609c = 4: 857291d7f7d archive: remove the_repository global variable -- gitgitgadget