aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorMike McQuaid2017-03-31 10:57:31 +0100
committerGitHub2017-03-31 10:57:31 +0100
commite9947fb42fe198a82492eea0c9117131229884bb (patch)
tree22e9349a3c42543413c8290453b58dd879cc5583 /Library/Homebrew/cmd
parentc08250b932fccecca52e2902add953c6fc4c6c38 (diff)
parent9b4d57b6df0a1a9d0881b6132fc6113058afe157 (diff)
downloadbrew-e9947fb42fe198a82492eea0c9117131229884bb.tar.bz2
Merge pull request #2397 from MikeMcQuaid/migrate-tweaks
Migrator: various rename fixes
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/install.rb5
-rw-r--r--Library/Homebrew/cmd/reinstall.rb1
-rw-r--r--Library/Homebrew/cmd/update-report.rb24
-rw-r--r--Library/Homebrew/cmd/upgrade.rb1
4 files changed, 18 insertions, 13 deletions
diff --git a/Library/Homebrew/cmd/install.rb b/Library/Homebrew/cmd/install.rb
index e54286f09..a113bde38 100644
--- a/Library/Homebrew/cmd/install.rb
+++ b/Library/Homebrew/cmd/install.rb
@@ -199,7 +199,10 @@ module Homebrew
perform_preinstall_checks
- formulae.each { |f| install_formula(f) }
+ formulae.each do |f|
+ Migrator.migrate_if_needed(f)
+ install_formula(f)
+ end
rescue FormulaClassUnavailableError => e
# Need to rescue before `FormulaUnavailableError` (superclass of this)
# is handled, as searching for a formula doesn't make sense here (the
diff --git a/Library/Homebrew/cmd/reinstall.rb b/Library/Homebrew/cmd/reinstall.rb
index 586405909..c625d2d97 100644
--- a/Library/Homebrew/cmd/reinstall.rb
+++ b/Library/Homebrew/cmd/reinstall.rb
@@ -15,6 +15,7 @@ module Homebrew
onoe "#{f.full_name} is pinned. You must unpin it to reinstall."
next
end
+ Migrator.migrate_if_needed(f)
reinstall_formula(f)
end
end
diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb
index 4002df75c..a6936c78c 100644
--- a/Library/Homebrew/cmd/update-report.rb
+++ b/Library/Homebrew/cmd/update-report.rb
@@ -502,12 +502,18 @@ class Reporter
end
def migrate_formula_rename
- Formula.installed.map(&:oldname).compact.each do |old_name|
- old_name_dir = HOMEBREW_CELLAR/old_name
- next if old_name_dir.symlink?
- next unless old_name_dir.directory? && !old_name_dir.subdirs.empty?
+ Formula.installed.each do |formula|
+ next unless Migrator.needs_migration?(formula)
- new_name = tap.formula_renames[old_name]
+ oldname = formula.oldname
+ oldname_rack = HOMEBREW_CELLAR/oldname
+
+ if oldname_rack.subdirs.empty?
+ oldname_rack.rmdir_if_possible
+ next
+ end
+
+ new_name = tap.formula_renames[oldname]
next unless new_name
new_full_name = "#{tap}/#{new_name}"
@@ -519,13 +525,7 @@ class Reporter
next
end
- begin
- migrator = Migrator.new(f)
- migrator.migrate
- rescue Migrator::MigratorDifferentTapsError
- rescue Exception => e
- onoe e
- end
+ Migrator.migrate_if_needed(f)
end
end
diff --git a/Library/Homebrew/cmd/upgrade.rb b/Library/Homebrew/cmd/upgrade.rb
index ed36b8f33..d007ff8c8 100644
--- a/Library/Homebrew/cmd/upgrade.rb
+++ b/Library/Homebrew/cmd/upgrade.rb
@@ -88,6 +88,7 @@ module Homebrew
end
formulae_to_install.each do |f|
+ Migrator.migrate_if_needed(f)
upgrade_formula(f)
next unless ARGV.include?("--cleanup")
next unless f.installed?