diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb index 10b433dd258f277688cd042024e8cf74cc97ec44..caa1e01adf7246aca52a18be0de88ba3a1602e77 100644 --- a/Library/Homebrew/cmd/update-report.rb +++ b/Library/Homebrew/cmd/update-report.rb @@ -421,18 +421,27 @@ class Reporter new_tap_name = tap.tap_migrations[name] next if new_tap_name.nil? # skip if not in tap_migrations list. + new_tap_user, new_tap_repo, new_tap_new_name = new_tap_name.split("/") + new_name = if new_tap_new_name + new_full_name = new_tap_new_name + new_tap_name = "#{new_tap_user}/#{new_tap_repo}" + new_tap_new_name + else + new_full_name = "#{new_tap_name}/#{name}" + name + end + # This means it is a Cask if report[:DC].include? full_name - next unless (HOMEBREW_PREFIX/"Caskroom"/name).exist? + next unless (HOMEBREW_PREFIX/"Caskroom"/new_name).exist? new_tap = Tap.fetch(new_tap_name) new_tap.install unless new_tap.installed? ohai "#{name} has been moved to Homebrew.", <<-EOS.undent To uninstall the cask run: brew cask uninstall --force #{name} EOS - new_full_name = "#{new_tap_name}/#{name}" - next if (HOMEBREW_CELLAR/name.split("/").last).directory? - ohai "Installing #{name}..." + next if (HOMEBREW_CELLAR/new_name.split("/").last).directory? + ohai "Installing #{new_name}..." system HOMEBREW_BREW_FILE, "install", new_full_name begin unless Formulary.factory(new_full_name).keg_only? @@ -456,13 +465,13 @@ class Reporter system HOMEBREW_BREW_FILE, "uninstall", "--force", name ohai "brew prune" system HOMEBREW_BREW_FILE, "prune" - ohai "brew cask install #{name}" - system HOMEBREW_BREW_FILE, "cask", "install", name + ohai "brew cask install #{new_name}" + system HOMEBREW_BREW_FILE, "cask", "install", new_name else ohai "#{name} has been moved to Homebrew-Cask.", <<-EOS.undent To uninstall the formula and install the cask run: brew uninstall --force #{name} - brew cask install #{name} + brew cask install #{new_name} EOS end else diff --git a/Library/Homebrew/formulary.rb b/Library/Homebrew/formulary.rb index 40370cec3a97858e5589686a46a5e6853262000b..fadd89457035fe4ae3f873d86c61eb286e3719cd 100644 --- a/Library/Homebrew/formulary.rb +++ b/Library/Homebrew/formulary.rb @@ -186,6 +186,8 @@ class Formulary name = new_name new_name = @tap.core_tap? ? name : "#{@tap}/#{name}" elsif (new_tap_name = @tap.tap_migrations[name]) + 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.install unless new_tap.installed? new_tapped_name = "#{new_tap_name}/#{name}"