diff --git a/Library/Homebrew/cmd/audit.rb b/Library/Homebrew/cmd/audit.rb index 5d70944d15..d240fb2178 100644 --- a/Library/Homebrew/cmd/audit.rb +++ b/Library/Homebrew/cmd/audit.rb @@ -235,10 +235,15 @@ class FormulaAuditor return end - same_name_tap_formulae = Formula.tap_names.select do |tap_formula_name| - user_name, _, formula_name = tap_formula_name.split("/", 3) - user_name == "homebrew" && formula_name == name - end + @@local_official_taps_name_map ||= Tap.select(&:official?).flat_map(&:formula_names). + reduce(Hash.new) do |name_map, tap_formula_full_name| + tap_formula_name = tap_formula_full_name.split("/").last + name_map[tap_formula_name] ||= [] + name_map[tap_formula_name] << tap_formula_full_name + name_map + end + + same_name_tap_formulae = @@local_official_taps_name_map[name] || [] if @online @@remote_official_taps ||= OFFICIAL_TAPS - Tap.select(&:official?).map(&:repo)