From 4398660cdd4b8714351fd4a9063b82fdf25bea2f Mon Sep 17 00:00:00 2001 From: Jack Nagel Date: Sat, 3 Jan 2015 17:59:40 -0500 Subject: [PATCH] Checkout outdatedness in `brew upgrade ` Fixes Homebrew/homebrew#35523. --- Library/Homebrew/cmd/upgrade.rb | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb index ff7f431923..8b30ba59cb 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?