aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMike McQuaid2018-01-14 18:17:06 +0000
committerGitHub2018-01-14 18:17:06 +0000
commit253a41f52370a2625a0e2684f7afa85405cdc5d2 (patch)
tree2bf09dd96b9a1a231892c13eb96a00c408e282a6 /Library
parentfcec5ad3600dc39518557923d5b6e6402e22b89b (diff)
parent228cbd81c9e5d88124d09b73e44bc7bceb40972d (diff)
downloadbrew-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.rb2
-rw-r--r--Library/Homebrew/cmd/update-reset.sh2
-rw-r--r--Library/Homebrew/cmd/update.sh4
-rw-r--r--Library/Homebrew/download_strategy.rb24
-rw-r--r--Library/Homebrew/gitconfig/.gitconfig14
-rw-r--r--Library/Homebrew/tap.rb4
-rw-r--r--Library/Homebrew/utils/git.rb6
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