diff options
| author | Max Howell | 2011-09-02 09:55:37 +0100 |
|---|---|---|
| committer | Max Howell | 2011-09-02 12:12:30 +0100 |
| commit | 34aea5c987705b43f8fff72e683d24c248156c4f (patch) | |
| tree | 4acbad663eec26153ffdef5d6feec6136a1fc4f8 /Library | |
| parent | 7aa45e81cbb446992ff2c7356737e9bb5a74d4db (diff) | |
| download | brew-34aea5c987705b43f8fff72e683d24c248156c4f.tar.bz2 | |
Handle brew upgrade ARGV errors properly
Fixes Homebrew/homebrew#7304.
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 |
