bundle/commands/exec: adjust environment variable handling (again)
We need to ensure that we keep around some `HOMEBREW_` variables so that the e.g. `git` shim still works in `brew bundle exec`.
This commit is contained in:
parent
1fb3bf8a14
commit
1a1aac9715
@ -111,16 +111,16 @@ module Homebrew
|
|||||||
# For commands which aren't either absolute or relative
|
# For commands which aren't either absolute or relative
|
||||||
raise "command was not found in your PATH: #{command}" if command.exclude?("/") && which(command).nil?
|
raise "command was not found in your PATH: #{command}" if command.exclude?("/") && which(command).nil?
|
||||||
|
|
||||||
# Don't need to export Homebrew internal variables that won't be used by other tools.
|
|
||||||
# Those Homebrew needs have already been set to global constants and/or are exported again later.
|
|
||||||
# Setting these globally can interfere with nested Homebrew invocations/environments.
|
|
||||||
ENV.delete_if { |key, _| key.start_with?("HOMEBREW_", "PORTABLE_RUBY_") }
|
|
||||||
|
|
||||||
if subcommand == "env"
|
if subcommand == "env"
|
||||||
ENV.sort.each do |key, value|
|
ENV.sort.each do |key, value|
|
||||||
# No need to export empty values.
|
# No need to export empty values.
|
||||||
next if value.blank?
|
next if value.blank?
|
||||||
|
|
||||||
|
# Skip exporting Homebrew internal variables that won't be used by other tools.
|
||||||
|
# Those Homebrew needs have already been set to global constants and/or are exported again later.
|
||||||
|
# Setting these globally can interfere with nested Homebrew invocations/environments.
|
||||||
|
next if key.start_with?("HOMEBREW_", "PORTABLE_RUBY_")
|
||||||
|
|
||||||
# Skip exporting things that were the same in the old environment.
|
# Skip exporting things that were the same in the old environment.
|
||||||
old_value = old_env[key]
|
old_value = old_env[key]
|
||||||
next if old_value == value
|
next if old_value == value
|
||||||
|
Loading…
x
Reference in New Issue
Block a user