diff --git a/Library/Homebrew/migrator.rb b/Library/Homebrew/migrator.rb index 3eb7f833e35d33c614ba5e37eba279e5b2c6d945..a58ca2059b1063a8c2745ed757fb0293f6342f19 100644 --- a/Library/Homebrew/migrator.rb +++ b/Library/Homebrew/migrator.rb @@ -122,6 +122,13 @@ class Migrator end def from_same_taps? + new_tap = if old_tap + if migrate_tap = old_tap.tap_migrations[formula.oldname] + new_tap_user, new_tap_repo, = migrate_tap.split("/") + "#{new_tap_user}/#{new_tap_repo}" + end + end + if formula.tap == old_tap true # Homebrew didn't use to update tabs while performing tap-migrations, @@ -129,7 +136,7 @@ class Migrator # so we check if there is an entry about oldname migrated to tap and if # newname's tap is the same as tap to which oldname migrated, then we # can perform migrations and the taps for oldname and newname are the same. - elsif formula.tap && old_tap && formula.tap == old_tap.tap_migrations[formula.oldname] + elsif formula.tap && old_tap && formula.tap == new_tap fix_tabs true else diff --git a/Library/Homebrew/missing_formula.rb b/Library/Homebrew/missing_formula.rb index 9c1656aa23b1e31b83e09645f447bf8fb61662ae..1b584af8a11463a7f6543be3d5ab50e9d0a86e6d 100644 --- a/Library/Homebrew/missing_formula.rb +++ b/Library/Homebrew/missing_formula.rb @@ -105,10 +105,14 @@ module Homebrew message = nil Tap.each do |old_tap| - new_tap_name = old_tap.tap_migrations[name] - next unless new_tap_name + new_tap = old_tap.tap_migrations[name] + next unless new_tap + + new_tap_user, new_tap_repo, = new_tap.split("/") + new_tap_name = "#{new_tap_user}/#{new_tap_repo}" + message = <<-EOS.undent - It was migrated from #{old_tap} to #{new_tap_name}. + It was migrated from #{old_tap} to #{new_tap}. You can access it again by running: brew tap #{new_tap_name} EOS