Feature #9263
closedWhen creating symlink (or link) and the destination exists already, the error message is ambiguous
Description
Assume file 'link_b' already exists.
irb(main):001:0> File.symlink('a.txt', 'link_b')
Errno::EEXIST: File exists @ sys_fail2 - (a.txt, link_b)
from (irb):1:in symlink' from (irb):1 from /home/ethan/Documents/code/ruby/localruby/bin/irb:11:in
'
We don't need both file information "(a.txt, link_b)". For EEXIST, it always refers to the destination file. So the error message should be:
Errno::EEXIST: File exists @ sys_fail2 - link_b
from (irb):1:in symlink' from (irb):1 from /home/ethan/Documents/code/ruby/localruby/bin/irb:11:in
'
I already created a patch for this. Tested on Linux. I haven't tested on Windows yet. If this is a go, then I'll test it on Windows later (Does Ruby 2.1 support symlink on Windows NT 6?).
Files
Updated by nobu (Nobuyoshi Nakada) about 11 years ago
- Status changed from Open to Closed
- % Done changed from 0 to 100
This issue was solved with changeset r44313.
Vajrasky, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.
file.c: destination path only
- file.c: remove unnecessary the source path from EEXIST error
messages and show the destination path only. [ruby-core:59202]
[Feature #9263]