Project

General

Profile

Actions

Backport #8109

closed

FileUtils.mv fails across devices on Windows

Added by mitchellh (Mitchell Hashimoto) about 11 years ago. Updated over 10 years ago.


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.


Related issues 1 (0 open1 closed)

Related to Backport193 - Backport #8609: FileUtils.mv fails across devices on WindowsClosedusa (Usaku NAKAMURA)03/18/2013Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0