Feature #9263: When creating symlink (or link) and the destination exists already, the error message is ambiguous - Ruby (original) (raw)

closed


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

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

Also available in: Atom PDF

Like0

Like0

Loading...