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) over 9 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) over 9 years ago
Usa-san, how significant is this issue?
--
Yusuke Endoh mame@tsg.ne.jp
Updated by mame (Yusuke Endoh) over 9 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) about 8 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) about 8 years ago
The path with "\?" must be fullpath.
It's the spec of Windows.
Updated by usa (Usaku NAKAMURA) about 8 years ago
- Related to Bug #7822: Dir.mkdir can't handle long Windows Unicode paths (\\?\UNC\) added
Updated by usa (Usaku NAKAMURA) about 8 years ago
- Status changed from Assigned to Rejected
See #7822.