From 14fc553ac7dff273ecf2cc0e43cec5e2b1826069 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Mon, 19 Mar 2012 14:11:25 +0000 Subject: 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. --- Library/Homebrew/cmd/unlink.rb | 2 +- Library/Homebrew/extend/ARGV.rb | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'Library') 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? -- cgit v1.2.3