aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2015-01-03 17:59:40 -0500
committerJack Nagel2015-01-04 14:03:56 -0500
commit4398660cdd4b8714351fd4a9063b82fdf25bea2f (patch)
tree04b7469237664879d9a4bf0647be56cd4f6fcad1 /Library
parentc294ce22a78685c9ab6c23a8104214fe8fae1f59 (diff)
downloadbrew-4398660cdd4b8714351fd4a9063b82fdf25bea2f.tar.bz2
Checkout outdatedness in `brew upgrade <formula>`
Fixes Homebrew/homebrew#35523.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/upgrade.rb15
1 files changed, 7 insertions, 8 deletions
diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb
index ff7f43192..8b30ba59c 100644
--- a/Library/Homebrew/cmd/upgrade.rb
+++ b/Library/Homebrew/cmd/upgrade.rb
@@ -9,15 +9,14 @@ module Homebrew
outdated = Homebrew.outdated_brews(Formula.installed)
exit 0 if outdated.empty?
else
- outdated = ARGV.formulae.select do |f|
- if f.installed?
- onoe "#{f.name}-#{f.installed_version} already installed"
- false
- elsif not f.rack.directory? or f.rack.subdirs.empty?
- onoe "#{f.name} not installed"
- false
+ outdated = Homebrew.outdated_brews(ARGV.formulae)
+
+ (ARGV.formulae - outdated).each do |f|
+ if f.rack.directory?
+ version = f.rack.subdirs.map { |d| Keg.new(d).version }.max
+ onoe "#{f.name} #{version} already installed"
else
- true
+ onoe "#{f.name} not installed"
end
end
exit 1 if outdated.empty?