Actions
Backport #8609
closedFileUtils.mv fails across devices on Windows
Status:
Closed
Assignee:
Description
Reproduction code: https://gist.github.com/luislavena/5179408
The issue is that Ruby is using MoveFile under the covers: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365239(v=vs.85).aspx
Quote directly from the MoveFile docs: "The one caveat is that the MoveFile function will fail on directory moves when the destination is on a different volume."
Instead, MoveFileEx should be used with the MOVEFILE_COPY_ALLOWED flag. This function has existed since XP, and since Ruby 1.9 is XP+, we can safely switch to this: http://msdn.microsoft.com/en-us/library/windows/desktop/aa365240(v=vs.85).aspx
The MoveFileEx call with the proper flag will just do the right thing.
Actions
Like0
Like0Like0