aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorJaime Marquínez Ferrándiz2014-03-07 16:56:17 +0100
committerJack Nagel2014-03-07 18:47:34 -0600
commitefec820efce4bba2840a1daa1519d1c97f9ab102 (patch)
tree288c90ba02774c755feffdf1df63235957f11e25 /Library/Homebrew/cmd
parenteeaf6985b1b5af26d11f3c9f28aa8f669f41a69b (diff)
downloadhomebrew-efec820efce4bba2840a1daa1519d1c97f9ab102.tar.bz2
uses: fix `--installed` with outdated versions
With that option iterate only over `Formula.installed`, otherwise iterate over `Formula`. This is faster than iterating over all the formulae and checking if it's installed. Fixes #27259. Closes #27295. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/uses.rb9
1 files changed, 4 insertions, 5 deletions
diff --git a/Library/Homebrew/cmd/uses.rb b/Library/Homebrew/cmd/uses.rb
index 44261be89..bab5e45bf 100644
--- a/Library/Homebrew/cmd/uses.rb
+++ b/Library/Homebrew/cmd/uses.rb
@@ -8,13 +8,12 @@ module Homebrew extend self
def uses
raise FormulaUnspecifiedError if ARGV.named.empty?
- formulae = ARGV.formulae
+ used_formulae = ARGV.formulae
+ formulae = (ARGV.include? "--installed") ? Formula.installed : Formula
uses = []
- Formula.each do |f|
- next if ARGV.include? "--installed" and not f.installed?
-
- formulae.all? do |ff|
+ formulae.each do |f|
+ used_formulae.all? do |ff|
if ARGV.flag? '--recursive'
if f.recursive_dependencies.any? { |dep| dep.name == ff.name }
uses << f.to_s