Fix installing taps in brew install.

Partially reverts f54b458cdaec5091cf7abfa3e09e9050a94a4a26.
This commit is contained in:
Markus Reiter 2020-10-07 12:12:10 +02:00
parent bd8eba8a81
commit 9f40945c87

View File

@ -146,15 +146,16 @@ module Homebrew
def install def install
args = install_args.parse args = install_args.parse
only = :formula if args.formula? only = :formula if args.formula? && !args.cask?
only = :cask if args.cask? only = :cask if args.cask? && !args.formula?
objects = args.named.to_objects(only: only) args.named.each do |name|
next if File.exist?(name)
next if name !~ HOMEBREW_TAP_FORMULA_REGEX && name !~ HOMEBREW_CASK_TAP_CASK_REGEX
taps, formulae_or_casks = objects.partition { |o| o.is_a?(Tap) } tap = Tap.fetch(Regexp.last_match(1), Regexp.last_match(2))
taps = (taps + formulae_or_casks.map(&:tap).compact).uniq.sort_by(&:name) tap.install unless tap.installed?
end
taps.reject(&:installed?).each(&:install)
if args.ignore_dependencies? if args.ignore_dependencies?
opoo <<~EOS opoo <<~EOS
@ -165,7 +166,8 @@ module Homebrew
EOS EOS
end end
formulae, casks = formulae_or_casks.partition { |formula_or_cask| formula_or_cask.is_a?(Formula) } formulae, casks = args.named.to_formulae_and_casks(only: only)
.partition { |formula_or_cask| formula_or_cask.is_a?(Formula) }
if casks.any? if casks.any?
Cask::Cmd::Install.install_casks( Cask::Cmd::Install.install_casks(