git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH v2 0/4] Remove the_repository global for am, annotate, apply, archive builtins

From
John Cai via GitGitGadget <gitgitgadget@gmail.com>
Date
Sep 30, 2024, 17:40 UTC
Message-ID
<pull.1788.v2.git.git.1727718030.gitgitgadget@gmail.com>
In-Reply-To
<pull.1788.git.git.1727185364.gitgitgadget@gmail.com>

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@gmail.com>
      
       ## 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
Previous: Junio C HamanoNext: John Cai via GitGitGadget
Message 16 of 44 in “Remove the_repository global for am, annotate, apply, archive builtins”
  1. 0/4 Remove the_repository global for am, annotate, apply, archive builtinsJohn Cai via GitGitGadget, Sep 24, 2024
  2. 1/4 git: pass in repo for RUN_SETUP_GENTLYJohn Cai via GitGitGadget, Sep 24, 2024
  3. shejialuoSep 24, 2024
  4. Junio C HamanoSep 24, 2024
  5. Junio C HamanoSep 24, 2024
  6. Patrick SteinhardtSep 26, 2024
  7. Junio C HamanoSep 26, 2024
  8. 2/4 annotate: remove usage of the_repository globalJohn Cai via GitGitGadget, Sep 24, 2024
  9. 3/4 apply: remove the_repository global variableJohn Cai via GitGitGadget, Sep 24, 2024
  10. Junio C HamanoSep 24, 2024
  11. Junio C HamanoSep 24, 2024
  12. John CaiSep 26, 2024
  13. Junio C HamanoSep 26, 2024
  14. 4/4 archive: remove the_repository global variableJohn Cai via GitGitGadget, Sep 24, 2024
  15. Junio C HamanoSep 24, 2024
  16. 0/4 Remove the_repository global for am, annotate, apply, archive builtinsJohn Cai via GitGitGadget, Sep 30, 2024
  17. 1/4 git: pass in repo for RUN_SETUP_GENTLYJohn Cai via GitGitGadget, Sep 30, 2024
  18. Junio C HamanoSep 30, 2024
  19. shejialuoOct 1, 2024
  20. 2/4 annotate: remove usage of the_repository globalJohn Cai via GitGitGadget, Sep 30, 2024
  21. Junio C HamanoSep 30, 2024
  22. 4/4 archive: remove the_repository global variableJohn Cai via GitGitGadget, Sep 30, 2024
  23. Junio C HamanoSep 30, 2024
  24. johncai86@gmail.comOct 4, 2024
  25. 3/4 apply: remove the_repository global variableJohn Cai via GitGitGadget, Sep 30, 2024
  26. Junio C HamanoSep 30, 2024
  27. shejialuoOct 1, 2024
  28. Patrick SteinhardtOct 1, 2024
  29. shejialuoOct 1, 2024
  30. Patrick SteinhardtOct 1, 2024
  31. Junio C HamanoOct 1, 2024
  32. johncai86@gmail.comOct 3, 2024
  33. 0/3 Remove the_repository global for am, annotate, apply, archive builtinsJohn Cai via GitGitGadget, Oct 5, 2024
  34. 1/3 git: pass in repo to builtin based on setup_git_directory_gentlyJohn Cai via GitGitGadget, Oct 5, 2024
  35. shejialuoOct 5, 2024
  36. 2/3 annotate: remove usage of the_repository globalJohn Cai via GitGitGadget, Oct 5, 2024
  37. 3/3 archive: remove the_repository global variableJohn Cai via GitGitGadget, Oct 5, 2024
  38. shejialuoOct 5, 2024
  39. johncai86@gmail.comOct 10, 2024
  40. 0/3 Remove the_repository global for am, annotate, apply, archive builtinsJohn Cai via GitGitGadget, Oct 10, 2024
  41. 1/3 git: pass in repo to builtin based on setup_git_directory_gentlyJohn Cai via GitGitGadget, Oct 10, 2024
  42. 2/3 annotate: remove usage of the_repository globalJohn Cai via GitGitGadget, Oct 10, 2024
  43. 3/3 archive: remove the_repository global variableJohn Cai via GitGitGadget, Oct 10, 2024
  44. Junio C HamanoOct 11, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.