Merge pull request #12448 from FnControlOption/renames

Print warning if given old short name of renamed formula
This commit is contained in:
Mike McQuaid 2021-11-19 12:20:12 +00:00 committed by GitHub
commit a0660e9c1b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 13 deletions

View File

@ -29,7 +29,9 @@ module Homebrew
def migrate def migrate
args = migrate_args.parse 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 if f.oldname
rack = HOMEBREW_CELLAR/f.oldname rack = HOMEBREW_CELLAR/f.oldname
raise NoSuchKegError, f.oldname if !rack.exist? || rack.subdirs.empty? raise NoSuchKegError, f.oldname if !rack.exist? || rack.subdirs.empty?

View File

@ -564,23 +564,16 @@ module Formulary
return FormulaLoader.new(name, path) return FormulaLoader.new(name, path)
end end
if (newref = CoreTap.instance.formula_renames[ref]) return TapLoader.new("#{CoreTap.instance}/#{ref}", from: from) if CoreTap.instance.formula_renames.key?(ref)
formula_with_that_oldname = core_path(newref)
return FormulaLoader.new(newref, formula_with_that_oldname) if formula_with_that_oldname.file?
end
possible_tap_newname_formulae = [] possible_taps = Tap.select { |tap| tap.formula_renames.key?(ref) }
Tap.each do |tap|
if (newref = tap.formula_renames[ref])
possible_tap_newname_formulae << "#{tap.name}/#{newref}"
end
end
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) raise TapFormulaWithOldnameAmbiguityError.new(ref, possible_tap_newname_formulae)
end 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") possible_keg_formula = Pathname.new("#{HOMEBREW_PREFIX}/opt/#{ref}/.brew/#{ref}.rb")
return FormulaLoader.new(ref, possible_keg_formula) if possible_keg_formula.file? return FormulaLoader.new(ref, possible_keg_formula) if possible_keg_formula.file?