Allow tap migrations with renames.

This commit is contained in:
Markus Reiter 2024-02-13 04:09:49 +01:00
parent a783aaf03f
commit eaf7b38995
No known key found for this signature in database
GPG Key ID: 245293B51702655B
2 changed files with 15 additions and 15 deletions

View File

@ -522,23 +522,23 @@ module Cask
type = nil
if (new_token = tap.cask_renames[token].presence)
old_token = token
old_token = tap.core_cask_tap? ? token : tapped_token
token = new_token
new_token = tap.core_cask_tap? ? token : "#{tap}/#{token}"
type = :rename
elsif (new_tap_name = tap.tap_migrations[token].presence)
new_tap_user, new_tap_repo, = new_tap_name.split("/")
new_tap_name = "#{new_tap_user}/#{new_tap_repo}"
new_tap = Tap.fetch(new_tap_name)
new_tap_user, new_tap_repo, new_token = new_tap_name.split("/", 3)
new_token ||= token
new_tap = Tap.fetch(new_tap_user, new_tap_repo)
new_tap.ensure_installed!
new_tapped_token = "#{new_tap_name}/#{token}"
new_tapped_token = "#{new_tap}/#{new_token}"
if tapped_token == new_tapped_token
opoo "Tap migration for #{tapped_token} points to itself, stopping recursion."
else
old_token = tap.core_cask_tap? ? token : tapped_token
token, tap, = tap_cask_token_type(new_tapped_token, warn: false)
old_token = tapped_token
new_token = new_tap.core_cask_tap? ? token : new_tapped_token
new_token = new_tap.core_cask_tap? ? token : "#{tap}/#{token}"
type = :migration
end
end

View File

@ -904,7 +904,7 @@ module Formulary
def self.tap_formula_name_type(tapped_name, warn:)
user, repo, name = tapped_name.split("/", 3).map(&:downcase)
tap = Tap.fetch user, repo
tap = Tap.fetch(user, repo)
type = nil
alias_name = tap.core_tap? ? name : "#{tap}/#{name}"
@ -912,23 +912,23 @@ module Formulary
name = possible_alias.split("/").last
type = :alias
elsif (new_name = tap.formula_renames[name].presence)
old_name = name
old_name = tap.core_tap? ? name : tapped_name
name = new_name
new_name = tap.core_tap? ? name : "#{tap}/#{name}"
type = :rename
elsif (new_tap_name = tap.tap_migrations[name].presence)
new_tap_user, new_tap_repo, = new_tap_name.split("/")
new_tap_name = "#{new_tap_user}/#{new_tap_repo}"
new_tap = Tap.fetch new_tap_name
new_tap_user, new_tap_repo, new_name = new_tap_name.split("/", 3)
new_name ||= name
new_tap = Tap.fetch(new_tap_user, new_tap_repo)
new_tap.ensure_installed!
new_tapped_name = "#{new_tap_name}/#{name}"
new_tapped_name = "#{new_tap}/#{new_name}"
if tapped_name == new_tapped_name
opoo "Tap migration for #{tapped_name} points to itself, stopping recursion."
else
old_name = tap.core_tap? ? name : tapped_name
name, tap, = tap_formula_name_type(new_tapped_name, warn: false)
old_name = tapped_name
new_name = new_tap.core_tap? ? name : new_tapped_name
new_name = new_tap.core_tap? ? name : "#{tap}/#{name}"
type = :migration
end
end