From 16049840dc16f9b63af0aac2a52274611f8e8cf7 Mon Sep 17 00:00:00 2001 From: Bo Anderson Date: Thu, 9 Jul 2020 15:06:15 +0100 Subject: [PATCH] formula_installer: mv rather than rename on link_overwrite Fixes a cross-device link error if the two locations are on separate partitions. --- Library/Homebrew/formula_installer.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Library/Homebrew/formula_installer.rb b/Library/Homebrew/formula_installer.rb index c6a7318e6c..f6a251b209 100644 --- a/Library/Homebrew/formula_installer.rb +++ b/Library/Homebrew/formula_installer.rb @@ -857,7 +857,7 @@ class FormulaInstaller if formula.link_overwrite?(conflict_file) && !link_overwrite_backup.key?(conflict_file) backup_file = backup_dir/conflict_file.relative_path_from(HOMEBREW_PREFIX).to_s backup_file.parent.mkpath - conflict_file.rename backup_file + FileUtils.mv conflict_file, backup_file link_overwrite_backup[conflict_file] = backup_file retry end @@ -889,7 +889,7 @@ class FormulaInstaller keg.unlink link_overwrite_backup.each do |origin, backup| origin.parent.mkpath - backup.rename origin + FileUtils.mv backup, origin end end Homebrew.failed = true