handle TapFormulaWithOldnameAmbiguityError

Closes Homebrew/homebrew#44705.

Signed-off-by: Xu Cheng <xucheng@me.com>
This commit is contained in:
Xu Cheng 2015-10-07 17:34:29 +08:00
parent fde5b48d83
commit ee332c4550
6 changed files with 10 additions and 7 deletions

View File

@ -282,9 +282,12 @@ class FormulaAuditor
rescue TapFormulaAmbiguityError
problem "Ambiguous dependency #{dep.name.inspect}."
next
rescue TapFormulaWithOldnameAmbiguityError
problem "Ambiguous oldname dependency #{dep.name.inspect}."
next
end
if FORMULA_RENAMES[dep.name] == dep_f.name
if dep_f.oldname && dep.name.split("/").last == dep_f.oldname
problem "Dependency '#{dep.name}' was renamed; use newname '#{dep_f.name}'."
end
@ -343,7 +346,7 @@ class FormulaAuditor
next
rescue FormulaUnavailableError
problem "Can't find conflicting formula #{c.name.inspect}."
rescue TapFormulaAmbiguityError
rescue TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError
problem "Ambiguous conflicting formula #{c.name.inspect}."
end
end

View File

@ -85,7 +85,7 @@ module Homebrew
begin
f = Formulary.from_rack(HOMEBREW_CELLAR/name)
rescue FormulaUnavailableError, TapFormulaAmbiguityError
rescue FormulaUnavailableError, TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError
next
end

View File

@ -1165,7 +1165,7 @@ class Checks
if !(HOMEBREW_REPOSITORY/"Library/LinkedKegs"/rack.basename).directory?
begin
Formulary.from_rack(rack).keg_only?
rescue FormulaUnavailableError, TapFormulaAmbiguityError
rescue FormulaUnavailableError, TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError
false
end
else

View File

@ -50,7 +50,7 @@ module Homebrew
def keg_only?(rack)
Formulary.from_rack(rack).keg_only?
rescue FormulaUnavailableError, TapFormulaAmbiguityError
rescue FormulaUnavailableError, TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError
false
end
end

View File

@ -238,7 +238,7 @@ module Homebrew
def safe_formulary(formula)
Formulary.factory formula
rescue FormulaUnavailableError, TapFormulaAmbiguityError
rescue FormulaUnavailableError, TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError
end
def git(*args)

View File

@ -1017,7 +1017,7 @@ class Formula
@installed ||= racks.map do |rack|
begin
Formulary.from_rack(rack)
rescue FormulaUnavailableError, TapFormulaAmbiguityError
rescue FormulaUnavailableError, TapFormulaAmbiguityError, TapFormulaWithOldnameAmbiguityError
end
end.compact
end