From f59c596e4b8d9abe639576cac0a53b5381990e4b Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Thu, 16 Jan 2020 16:04:24 +0000 Subject: [PATCH] cleanup: fix portable ruby bundler removal logic. Need to ensure portable rubies are removed last and pass more paramaters to git clean. --- Library/Homebrew/cleanup.rb | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Library/Homebrew/cleanup.rb b/Library/Homebrew/cleanup.rb index 88b72eae80..89b3fc2b37 100644 --- a/Library/Homebrew/cleanup.rb +++ b/Library/Homebrew/cleanup.rb @@ -347,25 +347,26 @@ module Homebrew portable_ruby_path = vendor_path/"portable-ruby" portable_ruby_glob = "#{portable_ruby_path}/*.*" + portable_rubies_to_remove = [] Pathname.glob(portable_ruby_glob).each do |path| next if !use_system_ruby && portable_ruby_version == path.basename.to_s - if dry_run? - puts "Would remove: #{path} (#{path.abv})" - else - FileUtils.rm_rf path - end + portable_rubies_to_remove << path + puts "Would remove: #{path} (#{path.abv})" if dry_run? end - return unless Dir.glob(portable_ruby_glob).empty? - return unless portable_ruby_path.exist? + return if portable_rubies_to_remove.empty? bundler_path = vendor_path/"bundle/ruby" if dry_run? - puts "Would remove:\n#{Utils.popen_read("git", "clean", "-xnf", bundler_path)}" + puts Utils.popen_read("git", "-C", HOMEBREW_REPOSITORY, "clean", "-nx", bundler_path).chomp else - safe_system "git", "clean", "-xf", bundler_path + puts Utils.popen_read("git", "-C", HOMEBREW_REPOSITORY, "clean", "-ffqx", bundler_path).chomp end + + return if dry_run? + + FileUtils.rm_rf portable_rubies_to_remove end def cleanup_old_cache_db