aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorMax Howell2012-03-19 14:11:25 +0000
committerMax Howell2012-03-19 14:17:50 +0000
commit14fc553ac7dff273ecf2cc0e43cec5e2b1826069 (patch)
tree4efb2e55d582b02446eb7b7d634bf4c7b60d2826 /Library
parent6179831bdd229a5ef7db80237585708cf3f926b3 (diff)
downloadhomebrew-14fc553ac7dff273ecf2cc0e43cec5e2b1826069.tar.bz2
If no formula but multiple kegs, advise resolution
In this case the user will simply have to delete all but one keg in order to use the command that uses ARGV.kegs. Refs #11050.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/cmd/unlink.rb2
-rw-r--r--Library/Homebrew/extend/ARGV.rb10
2 files changed, 11 insertions, 1 deletions
diff --git a/Library/Homebrew/cmd/unlink.rb b/Library/Homebrew/cmd/unlink.rb
index bf1f137e0..12b037781 100644
--- a/Library/Homebrew/cmd/unlink.rb
+++ b/Library/Homebrew/cmd/unlink.rb
@@ -1,6 +1,6 @@
module Homebrew extend self
def unlink
- raise FormulaUnspecifiedError if ARGV.named.empty?
+ raise KegUnspecifiedError if ARGV.named.empty?
ARGV.kegs.each do |keg|
print "Unlinking #{keg}... "
diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb
index 25d19e2e7..b994df658 100644
--- a/Library/Homebrew/extend/ARGV.rb
+++ b/Library/Homebrew/extend/ARGV.rb
@@ -16,6 +16,7 @@ module HomebrewArgvExtension
end
def kegs
+ rack = nil
require 'keg'
require 'formula'
@kegs ||= downcased_unique_named.collect do |name|
@@ -47,6 +48,15 @@ module HomebrewArgvExtension
Keg.new(linked_keg_ref.realpath)
end
end
+ rescue FormulaUnavailableError
+ if rack
+ raise <<-EOS.undent
+ Multiple kegs installed to #{rack}
+ Please remove all but one and then try again.
+ EOS
+ else
+ raise
+ end
end
# self documenting perhaps?