From ab1164f4de48fda5e380e9e68326ea5a15cba804 Mon Sep 17 00:00:00 2001
From: Vlad Shablinsky <vladshablinsky@gmail.com>
Date: Sun, 9 Aug 2015 15:08:12 +0300
Subject: [PATCH] exceptions: add TapFormulaWithOldnameAmbiguityError

- TapFormulaWithOldnameAmbiguityError is an exception raised when
multiple tap formulae available for given old name
---
 Library/Homebrew/exceptions.rb | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb
index d49630e0e6..bae941eede 100644
--- a/Library/Homebrew/exceptions.rb
+++ b/Library/Homebrew/exceptions.rb
@@ -86,6 +86,26 @@ class TapFormulaAmbiguityError < RuntimeError
   end
 end
 
+class TapFormulaWithOldnameAmbiguityError < RuntimeError
+  attr_reader :name, :possible_tap_newname_formulae, :taps
+
+  def initialize(name, possible_tap_newname_formulae)
+    @name = name
+    @possible_tap_newname_formulae = possible_tap_newname_formulae
+
+    @taps = possible_tap_newname_formulae.map do |newname|
+      newname =~ HOMEBREW_TAP_FORMULA_REGEX
+      "#{$1}/#{$2}"
+    end
+
+    super <<-EOS.undent
+      Formulae with '#{name}' old name found in multiple taps: #{taps.map { |t|  "\n       * #{t}" }.join}
+
+      Please use the fully-qualified name e.g. #{taps.first}/#{name} to refer the formula or use its new name.
+    EOS
+  end
+end
+
 class TapUnavailableError < RuntimeError
   attr_reader :name
 
-- 
GitLab