diff options
| author | Mike McQuaid | 2017-03-31 10:57:31 +0100 |
|---|---|---|
| committer | GitHub | 2017-03-31 10:57:31 +0100 |
| commit | e9947fb42fe198a82492eea0c9117131229884bb (patch) | |
| tree | 22e9349a3c42543413c8290453b58dd879cc5583 /Library/Homebrew/cmd | |
| parent | c08250b932fccecca52e2902add953c6fc4c6c38 (diff) | |
| parent | 9b4d57b6df0a1a9d0881b6132fc6113058afe157 (diff) | |
| download | brew-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.rb | 5 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/reinstall.rb | 1 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/update-report.rb | 24 | ||||
| -rw-r--r-- | Library/Homebrew/cmd/upgrade.rb | 1 |
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? |
