diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cmd/upgrade.rb | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb index 76e40e969..1303c1973 100644 --- a/Library/Homebrew/cmd/upgrade.rb +++ b/Library/Homebrew/cmd/upgrade.rb @@ -7,6 +7,12 @@ class Fixnum end end +class Formula + def rack + HOMEBREW_CELLAR/name + end +end + module Homebrew extend self def upgrade Homebrew.perform_preinstall_checks @@ -14,7 +20,11 @@ module Homebrew extend self outdated = if ARGV.named.empty? Homebrew.outdated_brews else - ARGV.formulae.map{ |f| [f.prefix.parent, f.name, f.version] } + ARGV.formulae.map do |f| + raise "#{f} already upgraded" if f.installed? + raise "#{f} not installed" unless f.rack.exist? and not f.rack.children.empty? + [f.prefix.parent, f.name, f.version] + end end if outdated.length > 1 |
