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/