From: usa@... Date: 2015-04-28T05:45:50+00:00 Subject: [ruby-core:69011] [Ruby trunk - Bug #11021] FileUtils.mv displays the wrong destination when Errno::EEXIST is raised Issue #11021 has been updated by Usaku NAKAMURA. Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED to 2.0.0: REQUIRED, 2.1: DONE, 2.2: REQUIRED ruby_2_1 r50397 merged revision(s) 50141. ---------------------------------------- Bug #11021: FileUtils.mv displays the wrong destination when Errno::EEXIST is raised https://bugs.ruby-lang.org/issues/11021#change-52267 * Author: Jo��o Britto * Status: Closed * Priority: Normal * Assignee: * ruby -v: ruby 2.2.1p85 (2015-02-26 revision 49769) [x86_64-darwin14] * Backport: 2.0.0: REQUIRED, 2.1: DONE, 2.2: REQUIRED ---------------------------------------- Suppose we have the following directory structure: ~~~ $ cd /tmp $ mkdir -p ruby/a $ mkdir ruby/a/b $ mkdir ruby/b $ tree ruby ruby ��������� a ������� ��������� b ��������� b 3 directories, 0 files ~~~ When we try to move `b` inside `a`, there is a name clash and `Errno::EEXIST` is raised. ~~~ $ irb >> require 'fileutils' => true >> FileUtils.mv 'ruby/b', 'ruby/a' Errno::EEXIST: File exists - ruby/a ~~~ However, the error message says `ruby/a exists`, which does not seem to be the proper destination. The error message should instead read `ruby/a/b exists`. I am including a patch to address this issue. ---Files-------------------------------- ruby-fileutils-mv-fix.diff (912 Bytes) -- https://bugs.ruby-lang.org/