diff options
| author | Mike McQuaid | 2018-01-14 18:17:06 +0000 |
|---|---|---|
| committer | GitHub | 2018-01-14 18:17:06 +0000 |
| commit | 253a41f52370a2625a0e2684f7afa85405cdc5d2 (patch) | |
| tree | 2bf09dd96b9a1a231892c13eb96a00c408e282a6 /Library | |
| parent | fcec5ad3600dc39518557923d5b6e6402e22b89b (diff) | |
| parent | 228cbd81c9e5d88124d09b73e44bc7bceb40972d (diff) | |
| download | brew-253a41f52370a2625a0e2684f7afa85405cdc5d2.tar.bz2 | |
Merge pull request #3670 from MikeMcQuaid/gitconfig
Use Homebrew's gitconfig for various commands
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/log.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/update-reset.sh | 2 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/update.sh | 4 | ||||
| -rw-r--r-- | Library/Homebrew/download_strategy.rb | 24 | ||||
| -rw-r--r-- | Library/Homebrew/gitconfig/.gitconfig | 14 | ||||
| -rw-r--r-- | Library/Homebrew/tap.rb | 4 | ||||
| -rw-r--r-- | Library/Homebrew/utils/git.rb | 6 |
7 files changed, 45 insertions, 11 deletions
diff --git a/Library/Homebrew/cmd/log.rb b/Library/Homebrew/cmd/log.rb index 898e921ba..64e8a2e64 100644 --- a/Library/Homebrew/cmd/log.rb +++ b/Library/Homebrew/cmd/log.rb @@ -39,6 +39,6 @@ module Homebrew end args = ARGV.options_only args += ["--follow", "--", path] unless path.nil? - exec "git", "log", *args + Utils.with_homebrew_gitconfig { exec "git", "log", *args } end end diff --git a/Library/Homebrew/cmd/update-reset.sh b/Library/Homebrew/cmd/update-reset.sh index 5ba8ec9d8..3b166b8ed 100644 --- a/Library/Homebrew/cmd/update-reset.sh +++ b/Library/Homebrew/cmd/update-reset.sh @@ -28,6 +28,8 @@ EOS set -x fi + export HOME="$HOMEBREW_LIBRARY/Homebrew/gitconfig" + for DIR in "$HOMEBREW_REPOSITORY" "$HOMEBREW_LIBRARY"/Taps/*/* do [[ -d "$DIR/.git" ]] || continue diff --git a/Library/Homebrew/cmd/update.sh b/Library/Homebrew/cmd/update.sh index 747784527..c28a79d02 100644 --- a/Library/Homebrew/cmd/update.sh +++ b/Library/Homebrew/cmd/update.sh @@ -19,7 +19,11 @@ git() { then GIT_EXECUTABLE="$("$HOMEBREW_LIBRARY/Homebrew/shims/scm/git" --homebrew=print-path)" fi + OLDHOME="$HOME" + export HOME="$HOMEBREW_LIBRARY/Homebrew/gitconfig" "$GIT_EXECUTABLE" "$@" + export HOME="$OLDHOME" + unset OLDHOME } git_init_if_necessary() { diff --git a/Library/Homebrew/download_strategy.rb b/Library/Homebrew/download_strategy.rb index feb518057..4df9596a6 100644 --- a/Library/Homebrew/download_strategy.rb +++ b/Library/Homebrew/download_strategy.rb @@ -793,15 +793,19 @@ class GitDownloadStrategy < VCSDownloadStrategy def update_repo return unless @ref_type == :branch || !ref? - if !shallow_clone? && shallow_dir? - quiet_safe_system "git", "fetch", "origin", "--unshallow" - else - quiet_safe_system "git", "fetch", "origin" + Utils.with_homebrew_gitconfig do + if !shallow_clone? && shallow_dir? + quiet_safe_system "git", "fetch", "origin", "--unshallow" + else + quiet_safe_system "git", "fetch", "origin" + end end end def clone_repo - safe_system "git", *clone_args + Utils.with_homebrew_gitconfig do + safe_system "git", *clone_args + end cached_location.cd do safe_system "git", "config", "homebrew.cacheversion", cache_version checkout @@ -811,7 +815,9 @@ class GitDownloadStrategy < VCSDownloadStrategy def checkout ohai "Checking out #{@ref_type} #{@ref}" if @ref_type && @ref - quiet_safe_system "git", "checkout", "-f", @ref, "--" + Utils.with_homebrew_gitconfig do + quiet_safe_system "git", "checkout", "-f", @ref, "--" + end end def reset_args @@ -830,8 +836,10 @@ class GitDownloadStrategy < VCSDownloadStrategy end def update_submodules - quiet_safe_system "git", "submodule", "foreach", "--recursive", "git submodule sync" - quiet_safe_system "git", "submodule", "update", "--init", "--recursive" + Utils.with_homebrew_gitconfig do + quiet_safe_system "git", "submodule", "foreach", "--recursive", "git submodule sync" + quiet_safe_system "git", "submodule", "update", "--init", "--recursive" + end fix_absolute_submodule_gitdir_references! end diff --git a/Library/Homebrew/gitconfig/.gitconfig b/Library/Homebrew/gitconfig/.gitconfig new file mode 100644 index 000000000..2f68bde0d --- /dev/null +++ b/Library/Homebrew/gitconfig/.gitconfig @@ -0,0 +1,14 @@ +[user] + # Name used in commit messages. + name = Homebrew + # Email used in commit messages. + email = git@brew.sh +[fetch] + # Always prune when fetching (and pulling). + prune = 1 +[core] + # Don't prompt for commit messages for merge commits. + mergeoptions = --no-edit +[credential] + # Use macOS Keychain to store HTTP passwords. + helper = osxkeychain diff --git a/Library/Homebrew/tap.rb b/Library/Homebrew/tap.rb index ed93e1266..291bbe077 100644 --- a/Library/Homebrew/tap.rb +++ b/Library/Homebrew/tap.rb @@ -230,7 +230,7 @@ class Tap ohai "Unshallowing #{name}" unless quiet args = %w[fetch --unshallow] args << "-q" if quiet - path.cd { safe_system "git", *args } + Utils.with_homebrew_gitconfig { path.cd { safe_system "git", *args } } return end @@ -242,7 +242,7 @@ class Tap args << "-q" if quiet begin - safe_system "git", *args + Utils.with_homebrew_gitconfig { safe_system "git", *args } unless Readall.valid_tap?(self, aliases: true) unless ARGV.homebrew_developer? raise "Cannot tap #{name}: invalid syntax in tap!" diff --git a/Library/Homebrew/utils/git.rb b/Library/Homebrew/utils/git.rb index f1113af66..c50979b1e 100644 --- a/Library/Homebrew/utils/git.rb +++ b/Library/Homebrew/utils/git.rb @@ -60,6 +60,12 @@ module Utils raise "Git is unavailable" unless git_available? end + def self.with_homebrew_gitconfig + with_env(HOME: HOMEBREW_LIBRARY/"Homebrew/gitconfig") do + yield if block_given? + end + end + def self.clear_git_available_cache @git = nil @git_path = nil |
