Restore documented behavior of brew uses foo bar

`brew uses foo bar` is supposed to return the intersection of formulae
that use foo and bar. However, this was broken by changes made to
support requirements that can coerce to regular dependencies.
This commit is contained in:
Jack Nagel 2014-04-07 13:07:04 -05:00
parent 574fc99258
commit 872f46dc1e

View File

@ -12,25 +12,18 @@ module Homebrew extend self
formulae = (ARGV.include? "--installed") ? Formula.installed : Formula formulae = (ARGV.include? "--installed") ? Formula.installed : Formula
recursive = ARGV.flag? "--recursive" recursive = ARGV.flag? "--recursive"
uses = [] uses = formulae.select do |f|
formulae.each do |f|
used_formulae.all? do |ff| used_formulae.all? do |ff|
if recursive if recursive
if f.recursive_dependencies.any? { |dep| dep.name == ff.name } f.recursive_dependencies.any? { |dep| dep.name == ff.name } ||
uses << f.to_s f.recursive_requirements.any? { |req| req.name == ff.name }
elsif f.recursive_requirements.any? { |req| req.name == ff.name }
uses << f.to_s
end
else else
if f.deps.any? { |dep| dep.name == ff.name } f.deps.any? { |dep| dep.name == ff.name } ||
uses << f.to_s f.requirements.any? { |req| req.name == ff.name }
elsif f.requirements.any? { |req| req.name == ff.name }
uses << f.to_s
end
end end
end end
end end
puts_columns uses puts_columns uses.map(&:name)
end end
end end