Bug #7821
closedFileUtils.mkdir_p fails on Windows Unicode paths (\\?\UNC\) if dir already exists
Description
Code:
FileUtils.mkdir_p "//?/C:/test"
FileUtils.mkdir_p "//?/C:/test"
What I expected:
Ruby will create directory C:\test on the first call and nothing on the second
What happened on the second call:
Errno::EACCESS: Permission denied - \?\C:
from C:/ruby/1.9.3-p362/lib/ruby/1.9.1/fileutils.rb:247:in mkdir' from C:/ruby/1.9.3-p362/lib/ruby/1.9.1/fileutils.rb:247:in
fu_mkdir'
from C:/ruby/1.9.3-p362/lib/ruby/1.9.1/fileutils.rb:221:in block (2 levels) in mkdir_p' from C:/ruby/1.9.3-p362/lib/ruby/1.9.1/fileutils.rb:219:in
reverse_each'
from C:/ruby/1.9.3-p362/lib/ruby/1.9.1/fileutils.rb:219:in block in mkdir_p' from C:/ruby/1.9.3-p362/lib/ruby/1.9.1/fileutils.rb:205:in
each'
from C:/ruby/1.9.3-p362/lib/ruby/1.9.1/fileutils.rb:205:in mkdir_p' from C:/ruby/1.9.3-p362/lib/ruby/1.9.1/fileutils.rb:247:in
mkdir'
from C:/ruby/1.9.3-p362/lib/ruby/1.9.1/fileutils.rb:247:in `mkdir'
Updated by usa (Usaku NAKAMURA) almost 12 years ago
- Status changed from Open to Assigned
- Assignee set to usa (Usaku NAKAMURA)
- Target version set to 2.0.0
Updated by mame (Yusuke Endoh) almost 12 years ago
Usa-san, how significant is this issue?
--
Yusuke Endoh mame@tsg.ne.jp
Updated by mame (Yusuke Endoh) almost 12 years ago
- Target version changed from 2.0.0 to 2.6
Looks not so critical.
--
Yusuke Endoh mame@tsg.ne.jp
Updated by elovelan (Eric Loveland) over 10 years ago
This is actually due to a bug in File.directory?
File.directory?("\\\\?\\C:")
returns false. New bug for this?
Updated by usa (Usaku NAKAMURA) over 10 years ago
The path with "\?" must be fullpath.
It's the spec of Windows.
Updated by usa (Usaku NAKAMURA) over 10 years ago
- Related to Bug #7822: Dir.mkdir can't handle long Windows Unicode paths (\\?\UNC\) added
Updated by usa (Usaku NAKAMURA) over 10 years ago
- Status changed from Assigned to Rejected
See #7822.