[ruby-trunk - Bug #6716][Open] FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる

Issue #6716 has been reported by tommy (Masahiro T.).


Bug #6716: FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる

Author: tommy (Masahiro T.)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]

=begin
FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT になります。

% ln -s unexist hoge
% ruby -v -rfileutils -e ‘FileUtils.mv(“hoge”, “fuga”)’
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
/home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in stat': No such file or directory - hoge (Errno::ENOENT) from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in block
in fu_each_src_dest’
from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1531:in
fu_each_src_dest0' from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1513:in fu_each_src_dest’
from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:508:in mv' from -e:1:in

mv コマンドと同じ動きを目指すのであればエラーにすべきではないと思います。

r27317 から発生していると思います。
=end

Issue #6716 has been updated by tommy (Masahiro T.).

こんな感じにしてみました。いかがでしょうか。

FIX #6716 https://bugs.ruby-lang.org/issues/6716 · tmtm/ruby@00a677d · GitHub

Bug #6716: FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる

Author: tommy (Masahiro T.)
Status: Open
Priority: Normal
Assignee:
Category:
Target version:
ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]

=begin
FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT になります。

% ln -s unexist hoge
% ruby -v -rfileutils -e ‘FileUtils.mv(“hoge”, “fuga”)’
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
/home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in stat': No such file or directory - hoge (Errno::ENOENT) from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in block
in fu_each_src_dest’
from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1531:in
fu_each_src_dest0' from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1513:in fu_each_src_dest’
from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:508:in mv' from -e:1:in

mv コマンドと同じ動きを目指すのであればエラーにすべきではないと思います。

r27317 から発生していると思います。
=end

Issue #6716 has been updated by ko1 (Koichi Sasada).

Status changed from Open to Assigned
Assignee set to nobu (Nobuyoshi N.)


Bug #6716: FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる

Author: tommy (Masahiro T.)
Status: Assigned
Priority: Normal
Assignee: nobu (Nobuyoshi N.)
Category:
Target version:
ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]

=begin
FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT になります。

% ln -s unexist hoge
% ruby -v -rfileutils -e ‘FileUtils.mv(“hoge”, “fuga”)’
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
/home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in stat': No such file or directory - hoge (Errno::ENOENT) from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in block
in fu_each_src_dest’
from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1531:in
fu_each_src_dest0' from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1513:in fu_each_src_dest’
from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:508:in mv' from -e:1:in

mv コマンドと同じ動きを目指すのであればエラーにすべきではないと思います。

r27317 から発生していると思います。
=end

Issue #6716 has been updated by Hiroshi SHIBATA.

Status changed from Assigned to Closed
% Done changed from 0 to 100

Applied in changeset r46783.


  • lib/fileutils.rb: handle ENOENT error with symlink targeted to
    non-exists file. [ruby-dev:45933] [Bug #6716]

Bug #6716: FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる

  • Author: Masahiro T.
  • Status: Closed
  • Priority: Normal
  • Assignee: Nobuyoshi N.
  • Category:
  • Target version:
  • ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
  • Backport:

=begin
FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT になります。

% ln -s unexist hoge
% ruby -v -rfileutils -e ‘FileUtils.mv(“hoge”, “fuga”)’
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
/home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in stat': No such file or directory - hoge (Errno::ENOENT) from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in block
in fu_each_src_dest’
from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1531:in
fu_each_src_dest0' from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1513:in fu_each_src_dest’
from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:508:in mv' from -e:1:in

mv コマンドと同じ動きを目指すのであればエラーにすべきではないと思います。

r27317 から発生していると思います。
=end

Issue #6716 has been updated by Nobuyoshi N…

Description(markdown) updated
Category set to lib
Backport set to 2.0.0: REQUIRED, 2.1: REQUIRED


Bug #6716: FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる

  • Author: Masahiro T.
  • Status: Closed
  • Priority: Normal
  • Assignee: Nobuyoshi N.
  • Category: lib
  • Target version:
  • ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
  • Backport: 2.0.0: REQUIRED, 2.1: REQUIRED

FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT になります。

 % ln -s unexist hoge
% ruby -v -rfileutils -e 'FileUtils.mv("hoge", "fuga")'
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
/home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in `stat': No such 
file or directory - hoge (Errno::ENOENT)
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in `block in 
fu_each_src_dest'
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1531:in 
`fu_each_src_dest0'
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1513:in 
`fu_each_src_dest'
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:508:in `mv'
  from -e:1:in `<main>'

mv コマンドと同じ動きを目指すのであればエラーにすべきではないと思います。

r27317 から発生していると思います。

Issue #6716 has been updated by Tomoyuki C…

Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED to 2.0.0: REQUIRED,
2.1: DONE

Backported into ruby_2_1 at r47953.


Bug #6716: FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる

  • Author: Masahiro T.
  • Status: Closed
  • Priority: Normal
  • Assignee: Nobuyoshi N.
  • Category: lib
  • Target version:
  • ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
  • Backport: 2.0.0: REQUIRED, 2.1: DONE

FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT になります。

 % ln -s unexist hoge
% ruby -v -rfileutils -e 'FileUtils.mv("hoge", "fuga")'
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
/home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in `stat': No such 
file or directory - hoge (Errno::ENOENT)
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in `block in 
fu_each_src_dest'
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1531:in 
`fu_each_src_dest0'
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1513:in 
`fu_each_src_dest'
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:508:in `mv'
  from -e:1:in `<main>'

mv コマンドと同じ動きを目指すのであればエラーにすべきではないと思います。

r27317 から発生していると思います。

Issue #6716 has been updated by Usaku NAKAMURA.

Backport changed from 2.0.0: REQUIRED, 2.1: DONE to 2.0.0: DONE, 2.1:
DONE

Backported into ruby_2_0_0 at r47974.


Bug #6716: FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる

  • Author: Masahiro T.
  • Status: Closed
  • Priority: Normal
  • Assignee: Nobuyoshi N.
  • Category: lib
  • Target version:
  • ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
  • Backport: 2.0.0: DONE, 2.1: DONE

FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT になります。

 % ln -s unexist hoge
% ruby -v -rfileutils -e 'FileUtils.mv("hoge", "fuga")'
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
/home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in `stat': No such 
file or directory - hoge (Errno::ENOENT)
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in `block in 
fu_each_src_dest'
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1531:in 
`fu_each_src_dest0'
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1513:in 
`fu_each_src_dest'
  from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:508:in `mv'
  from -e:1:in `<main>'

mv コマンドと同じ動きを目指すのであればエラーにすべきではないと思います。

r27317 から発生していると思います。

Issue #6716 has been updated by Nobuyoshi N…

Duplicated by Bug #10374: FileUtils.mv can’t move broken symlinks added


Bug #6716: FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT エラーになる

  • Author: Masahiro T.
  • Status: Closed
  • Priority: Normal
  • Assignee: Nobuyoshi N.
  • Category:
  • Target version:
  • ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
  • Backport:

=begin
FileUtils.mv でリンク先がないシンボリックリンクファイルを指定すると ENOENT になります。

% ln -s unexist hoge
% ruby -v -rfileutils -e ‘FileUtils.mv(“hoge”, “fuga”)’
ruby 1.9.3p194 (2012-04-20 revision 35410) [i686-linux]
/home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in stat': No such file or directory - hoge (Errno::ENOENT) from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1515:in block
in fu_each_src_dest’
from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1531:in
fu_each_src_dest0' from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:1513:in fu_each_src_dest’
from /home/tommy/ruby193/lib/ruby/1.9.1/fileutils.rb:508:in mv' from -e:1:in

mv コマンドと同じ動きを目指すのであればエラーにすべきではないと思います。

r27317 から発生していると思います。
=end