Project

General

Profile

Actions

Feature #9263

closed

When creating symlink (or link) and the destination exists already, the error message is ambiguous

Added by vajrasky (Vajrasky Kok) about 10 years ago. Updated about 10 years ago.

Status:
Closed
Assignee:
-
Target version:
[ruby-core:59202]

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

Actions #1

Updated by nobu (Nobuyoshi Nakada) about 10 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]
Actions

Also available in: Atom PDF

Like0
Like0