From: agate.pris@... Date: 2021-02-14T12:07:04+00:00 Subject: [ruby-dev:51023] [Ruby master Bug#17626] FileUtils.cp may cause utime_failed Issue #17626 has been updated by agate-pris (agate pris). Thank you very match! ---------------------------------------- Bug #17626: FileUtils.cp may cause utime_failed https://bugs.ruby-lang.org/issues/17626#change-90381 * Author: agate-pris (agate pris) * Status: Closed * Priority: Normal * ruby -v: ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [x64-mingw32] * Backport: 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONTNEED, 3.0: REQUIRED ---------------------------------------- FileUtils.cp will cause utime_failed if the file name contains Japanese characters and preserve is true. This will probably only happen on Windows. It occures on Windows 10 version 2004 build 21301.1010. ``` ruby require 'fileutils' FileUtils.cp('foo', 'foo_copy', preserve: true) FileUtils.cp('foo', 'fooコピー', preserve: true) ``` ``` sh $ ruby test.rb C:/tools/ruby30/lib/ruby/3.0.0/fileutils.rb:1424:in `utime': No such file or directory @ utime_failed - fooコピー (Errno::ENOENT) from C:/tools/ruby30/lib/ruby/3.0.0/fileutils.rb:1424:in `copy_metadata' from C:/tools/ruby30/lib/ruby/3.0.0/fileutils.rb:515:in `copy_file' from C:/tools/ruby30/lib/ruby/3.0.0/fileutils.rb:433:in `block in cp' from C:/tools/ruby30/lib/ruby/3.0.0/fileutils.rb:1597:in `block in fu_each_src_dest' from C:/tools/ruby30/lib/ruby/3.0.0/fileutils.rb:1613:in `fu_each_src_dest0' from C:/tools/ruby30/lib/ruby/3.0.0/fileutils.rb:1595:in `fu_each_src_dest' from C:/tools/ruby30/lib/ruby/3.0.0/fileutils.rb:432:in `cp' from test.rb:4:in `
' ``` The expected result is copy to fooコピー is success same like copy to foo_copy. ---Files-------------------------------- ruby-w32_utimensat.patch (326 Bytes) -- https://bugs.ruby-lang.org/