formula_installer: mv rather than rename on link_overwrite
Fixes a cross-device link error if the two locations are on separate partitions.
This commit is contained in:
parent
50d12ce900
commit
16049840dc
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user