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 Homebrew/homebrew#11050.
This commit is contained in:
Max Howell 2012-03-19 14:11:25 +00:00
parent 46a9c9b6a0
commit 9ab1df5b68
2 changed files with 11 additions and 1 deletions

View File

@ -1,6 +1,6 @@
module Homebrew extend self module Homebrew extend self
def unlink def unlink
raise FormulaUnspecifiedError if ARGV.named.empty? raise KegUnspecifiedError if ARGV.named.empty?
ARGV.kegs.each do |keg| ARGV.kegs.each do |keg|
print "Unlinking #{keg}... " print "Unlinking #{keg}... "

View File

@ -16,6 +16,7 @@ module HomebrewArgvExtension
end end
def kegs def kegs
rack = nil
require 'keg' require 'keg'
require 'formula' require 'formula'
@kegs ||= downcased_unique_named.collect do |name| @kegs ||= downcased_unique_named.collect do |name|
@ -47,6 +48,15 @@ module HomebrewArgvExtension
Keg.new(linked_keg_ref.realpath) Keg.new(linked_keg_ref.realpath)
end end
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 end
# self documenting perhaps? # self documenting perhaps?