From eaf7b38995d335ef081ee3646052ec393e10d0b4 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Tue, 13 Feb 2024 04:09:49 +0100 Subject: [PATCH] Allow tap migrations with renames. --- Library/Homebrew/cask/cask_loader.rb | 14 +++++++------- Library/Homebrew/formulary.rb | 16 ++++++++-------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Library/Homebrew/cask/cask_loader.rb b/Library/Homebrew/cask/cask_loader.rb index 76eae2ee52..1a3cd08ec3 100644 --- a/Library/Homebrew/cask/cask_loader.rb +++ b/Library/Homebrew/cask/cask_loader.rb @@ -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 diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index 13dccfb851..74ba8e75a4 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -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