From: ruby@... Date: 2014-04-16T11:49:43+00:00 Subject: [ruby-core:62054] [ruby-trunk - Bug #7821] FileUtils.mkdir_p fails on Windows Unicode paths (\\?\UNC\) if dir already exists Issue #7821 has been updated by Eric Loveland. This is actually due to a bug in File.directory? ~~~ File.directory?("\\\\?\\C:") ~~~ returns false. New bug for this? ---------------------------------------- Bug #7821: FileUtils.mkdir_p fails on Windows Unicode paths (\\?\UNC\) if dir already exists https://bugs.ruby-lang.org/issues/7821#change-46230 * Author: Patrick Pokatilo * Status: Assigned * Priority: Normal * Assignee: Usaku NAKAMURA * Category: * Target version: next minor * ruby -v: ruby 1.9.3p362 (2012-12-25) [i386-mingw32] * Backport: ---------------------------------------- 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' -- https://bugs.ruby-lang.org/