From db0c1d999b894d3ad0a607d35509fdbe0ce67dcd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?fn=20=E2=8C=83=20=E2=8C=A5?= <70830482+FnControlOption@users.noreply.github.com> Date: Wed, 17 Nov 2021 22:20:48 -0800 Subject: [PATCH 1/2] Print warning if given old short name of renamed formula --- Library/Homebrew/formulary.rb | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index 2e40aba574..58c55e18a1 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -564,23 +564,16 @@ module Formulary return FormulaLoader.new(name, path) end - if (newref = CoreTap.instance.formula_renames[ref]) - formula_with_that_oldname = core_path(newref) - return FormulaLoader.new(newref, formula_with_that_oldname) if formula_with_that_oldname.file? - end + return TapLoader.new("#{CoreTap.instance}/#{ref}", from: from) if CoreTap.instance.formula_renames.key?(ref) - possible_tap_newname_formulae = [] - Tap.each do |tap| - if (newref = tap.formula_renames[ref]) - possible_tap_newname_formulae << "#{tap.name}/#{newref}" - end - end + possible_taps = Tap.select { |tap| tap.formula_renames.key?(ref) } - if possible_tap_newname_formulae.size > 1 + if possible_taps.size > 1 + possible_tap_newname_formulae = possible_taps.map { |tap| "#{tap}/#{tap.formula_renames[ref]}" } raise TapFormulaWithOldnameAmbiguityError.new(ref, possible_tap_newname_formulae) end - return TapLoader.new(possible_tap_newname_formulae.first, from: from) unless possible_tap_newname_formulae.empty? + return TapLoader.new("#{possible_taps.first}/#{ref}", from: from) unless possible_taps.empty? possible_keg_formula = Pathname.new("#{HOMEBREW_PREFIX}/opt/#{ref}/.brew/#{ref}.rb") return FormulaLoader.new(ref, possible_keg_formula) if possible_keg_formula.file? From 55fc6e1c9bc184d003cd112f35183af813e7041a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?fn=20=E2=8C=83=20=E2=8C=A5?= <70830482+FnControlOption@users.noreply.github.com> Date: Thu, 18 Nov 2021 09:47:25 -0800 Subject: [PATCH 2/2] migrate: load specified formulae by keg to avoid rename warning --- Library/Homebrew/cmd/migrate.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/cmd/migrate.rb b/Library/Homebrew/cmd/migrate.rb index ca8c3ccc3e..1a9b944c5e 100644 --- a/Library/Homebrew/cmd/migrate.rb +++ b/Library/Homebrew/cmd/migrate.rb @@ -29,7 +29,9 @@ module Homebrew def migrate args = migrate_args.parse - args.named.to_resolved_formulae.each do |f| + args.named.to_default_kegs.each do |keg| + f = Formulary.from_keg(keg) + if f.oldname rack = HOMEBREW_CELLAR/f.oldname raise NoSuchKegError, f.oldname if !rack.exist? || rack.subdirs.empty?