aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew/cmd
diff options
context:
space:
mode:
authorMike McQuaid2017-03-29 11:22:59 +0100
committerMike McQuaid2017-03-31 10:01:45 +0100
commitffd706d997441744b50f75ca45ceb8bd1caefd76 (patch)
tree38e9b574de0d3a97088e0efe713b722a86b9c136 /Library/Homebrew/cmd
parentf3743e98b644ed890105cbf542b121bbd2af8a2f (diff)
downloadbrew-ffd706d997441744b50f75ca45ceb8bd1caefd76.tar.bz2
update-report: more forceful rename migration.
Migrate between different taps and delete relevant subdirectories if they can be safely. Also, tweak some naming and use utility methods.
Diffstat (limited to 'Library/Homebrew/cmd')
-rw-r--r--Library/Homebrew/cmd/update-report.rb19
1 files changed, 12 insertions, 7 deletions
diff --git a/Library/Homebrew/cmd/update-report.rb b/Library/Homebrew/cmd/update-report.rb
index 4002df75c..065890707 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}"
@@ -520,9 +526,8 @@ class Reporter
end
begin
- migrator = Migrator.new(f)
+ migrator = Migrator.new(f, force: true)
migrator.migrate
- rescue Migrator::MigratorDifferentTapsError
rescue Exception => e
onoe e
end