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
commit342ed1d163c2ab321a9ce3522111bce59ef1fd2b (patch)
treeb8939686d5669cfa74fa00724f5caaf674897ce0 /Library/Homebrew/cmd
parentf155b0570e97c51a88392b91062f4a74a85b1f1b (diff)
downloadbrew-342ed1d163c2ab321a9ce3522111bce59ef1fd2b.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 Homebrew/homebrew#27259. Closes Homebrew/homebrew#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