Subject: [PATCH v4 0/3] Remove the_repository global for am, annotate, apply, archive builtins

From: "John Cai via GitGitGadget" <[email-masked]>
Date: Thu, 10 Oct 2024 21:13:45 +0000

Remove the_repository global variable for the annotate, apply, and archive
bulitins.

Changes since V3:

 * Improve commit message in patch 2

Changes since V1:

 * in patch 1, only pass in repo to the bulitin if the repo exists

Changes since V2:

 * drop patch 3, which is a bit more involved to dis-entangle the_repository
 * use a single variable in run_builtin() to keep track of whether or not we
   are operating in a repository

John Cai (3):
  git: pass in repo to builtin based on setup_git_directory_gently
  annotate: remove usage of the_repository global
  archive: remove the_repository global variable

 builtin/add.c      | 3 ++-
 builtin/annotate.c | 5 ++---
 builtin/archive.c  | 5 ++---
 git.c              | 7 ++++---
 4 files changed, 10 insertions(+), 10 deletions(-)

base-commit: 3857aae53f3633b7de63ad640737c657387ae0c6
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-1788%2Fjohn-cai%2Fjc%2Fremove-global-repo-a-v4
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-1788/john-cai/jc/remove-global-repo-a-v4
Pull-Request: https://github.com/git/git/pull/1788

Range-diff vs v3:

 1:  8009fdb38b0 = 1:  d59b85b5298 git: pass in repo to builtin based on setup_git_directory_gently
 2:  1b82b5dc678 ! 2:  f26d09215c3 annotate: remove usage of the_repository global
     @@ Metadata
       ## Commit message ##
          annotate: remove usage of the_repository global
      
     -    Remove the the_repository with the repository argument that gets passed
     -    down through the builtin function.
     +    As part of the effort to get rid of global state due to the_repository
     +    variable, remove the the_repository with the repository argument that
     +    gets passed down through the builtin function.
      
          Signed-off-by: John Cai <[email-masked]>
      
 3:  5d33a375f41 ! 3:  736212f34b5 archive: remove the_repository global variable
     @@ Metadata
       ## Commit message ##
          archive: remove the_repository global variable
      
     -    Replace the_repository with the repository argument that gets passed
     -    down through the builtin function.
     +    As part of the effort to get rid of global state due to the global
     +    the_repository variable, replace the_repository with the repository
     +    argument that gets passed down through the builtin function.
     +
     +    The repo might be NULL, but we should be safe in write_archive() because
     +    it detects if we are outside of a repository and calls
     +    setup_git_directory() which will error.
      
          Signed-off-by: John Cai <[email-masked]>

-- 
gitgitgadget