Issue #6756 has been reported by fumiyas (Fumiyasu SATOH). ---------------------------------------- Bug #6756: FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない https://bugs.ruby-lang.org/issues/6756 Author: fumiyas (Fumiyasu SATOH) Status: Open Priority: Normal Assignee: Category: lib Target version: ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] =begin UNIX の rm コマンドは、(({rm -rf dir})) でアクセス権がない空ディレクトリを 削除しますが、(({FileUtils.rm_rf("dir")})) は削除してくれません。 $ mkdir -m 0 empty-noperm-dir $ sudo ls -la empty-noperm-dir 合計 8 d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 . drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 .. $ ruby -v -rfileutils -e 'FileUtils.rm_rf("empty-noperm-dir")' ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] $ sudo ls -la empty-noperm-dir 合計 8 d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 . drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 .. $ rm -rf empty-noperm-dir $ sudo ls -la empty-noperm-dir ls: empty-noperm-dir にアクセスできません: そのようなファイルやディレクトリはありません この例では指定したディレクトリがアクセス権がない空ディレクトリですが、 サブディレクトリの場合も同じ問題が発生します。 Windows ならしょうがない(私の知る限りアクセス権のないファイルは 削除不可なので)と思うのですが、少なくとも UNIX 系の OS では rm -rf と 同じく削除して欲しいです。 =end
on 2012-07-20 03:47
on 2012-11-03 03:14
Issue #6756 has been updated by mame (Yusuke Endoh).
Status changed from Open to Assigned
Assignee set to mame (Yusuke Endoh)
以下のパッチで直りますが、影響無いですかね。make check は通りました。
反対がなさそうならコミットします。が、問題が起きたら revert となります。
diff --git a/lib/fileutils.rb b/lib/fileutils.rb
index 67cc79f..b18ca30 100644
--- a/lib/fileutils.rb
+++ b/lib/fileutils.rb
@@ -1534,6 +1534,7 @@ private
end
end
end
+ ensure
yield self
end
--
Yusuke Endoh <mame@tsg.ne.jp>
----------------------------------------
Bug #6756: FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない
https://bugs.ruby-lang.org/issues/6756#change-32269
Author: fumiyas (Fumiyasu SATOH)
Status: Assigned
Priority: Normal
Assignee: mame (Yusuke Endoh)
Category: lib
Target version:
ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
=begin
UNIX の rm コマンドは、(({rm -rf dir})) でアクセス権がない空ディレクトリを
削除しますが、(({FileUtils.rm_rf("dir")})) は削除してくれません。
$ mkdir -m 0 empty-noperm-dir
$ sudo ls -la empty-noperm-dir
合計 8
d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 .
drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 ..
$ ruby -v -rfileutils -e 'FileUtils.rm_rf("empty-noperm-dir")'
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]
$ sudo ls -la empty-noperm-dir
合計 8
d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 .
drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 ..
$ rm -rf empty-noperm-dir
$ sudo ls -la empty-noperm-dir
ls: empty-noperm-dir にアクセスできません: そのようなファイルやディレクトリはありません
この例では指定したディレクトリがアクセス権がない空ディレクトリですが、
サブディレクトリの場合も同じ問題が発生します。
Windows ならしょうがない(私の知る限りアクセス権のないファイルは
削除不可なので)と思うのですが、少なくとも UNIX 系の OS では rm -rf と
同じく削除して欲しいです。
=end
on 2012-11-07 08:06
$B$"$$$6$o$G$9(B > Windows $B$J$i$7$g$&$,$J$$(B($B;d$NCN$k8B$j%"%/%;%98"$N$J$$%U%!%$%k$O(B > $B:o=|IT2D$J$N$G(B)$B$H;W$&$N$G$9$,!">/$J$/$H$b(B UNIX $B7O$N(B OS $B$G$O(B rm -rf $B$H(B > $BF1$8$/:o=|$7$FM_$7$$$G$9!#(B $B%Q%C%A$NE,MQ$K$OH?BP$G$9!#(B Windows$B$G<B8=$G$-$J$$$N$G$"$l$P%W%i%C%H%U%)!<%`$K$h$C$FF1$8%a%=%C%I$G(B $BL@$i$+$K0[$J$k7k2L$K$J$k$N$O$"$j$,$?$/$J$$$G$9!#(B $B!JB>$K$b$=$&$$$&$N$,$N$"$k$N$+$b$7$l$J$$$G$9$,!#!#!#!K(B
on 2012-11-07 14:48
> $B$"$$$6$o$G$9(B > >> Windows $B$J$i$7$g$&$,$J$$(B($B;d$NCN$k8B$j%"%/%;%98"$N$J$$%U%!%$%k$O(B >> $B:o=|IT2D$J$N$G(B)$B$H;W$&$N$G$9$,!">/$J$/$H$b(B UNIX $B7O$N(B OS $B$G$O(B rm -rf $B$H(B >> $BF1$8$/:o=|$7$FM_$7$$$G$9!#(B > > $B%Q%C%A$NE,MQ$K$OH?BP$G$9!#(B > Windows$B$G<B8=$G$-$J$$$N$G$"$l$P%W%i%C%H%U%)!<%`$K$h$C$FF1$8%a%=%C%I$G(B > $BL@$i$+$K0[$J$k7k2L$K$J$k$N$O$"$j$,$?$/$J$$$G$9!#(B > $B!JB>$K$b$=$&$$$&$N$,$N$"$k$N$+$b$7$l$J$$$G$9$,!#!#!#!K(B $B$[$H$s$I$9$Y$F$N%U%!%$%kA`:n$O(BOS$B$N%U%!%$%k%7%9%F%`$N%k!<%k$K(B $BG{$i$l$F$k$N$G!"$3$3$@$15sF0$r0lCW$5$;$F$b0UL#$J$$$H;W$$$^$9!#(B $B$^$?(BUnix$B$N(B9bit$B$7$+$J$$;($J%"%/%;%98"%3%s%H%m!<%k$@$H%o!<%/%"%i%&%s%I$,B>$K$J$$%1!<%9$b$"$k$N$G$7$g$&$,$J$$$s$8$c$J$$$+$J(B
on 2013-02-02 05:13
Issue #6756 has been updated by mame (Yusuke Endoh). Status changed from Assigned to Open Assignee deleted (mame (Yusuke Endoh)) Target version set to next minor まあ一応反対が出たのでコミットしません。 内容的には小崎さんに全面賛成で、「あの環境でできないから」とか言ってたら File/FileUtils 関係はほとんど何も出来なくなるんじゃないかと思いますが、 まあ今から議論するのは 2.0.0 には遅いので next minor にします。 あと自分で判断できる内容じゃない気がするので担当ははずれておきます。 対応が遅くなってすみません。 -- Yusuke Endoh <mame@tsg.ne.jp> ---------------------------------------- Bug #6756: FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない https://bugs.ruby-lang.org/issues/6756#change-35778 Author: fumiyas (Fumiyasu SATOH) Status: Open Priority: Normal Assignee: Category: lib Target version: next minor ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] =begin UNIX の rm コマンドは、(({rm -rf dir})) でアクセス権がない空ディレクトリを 削除しますが、(({FileUtils.rm_rf("dir")})) は削除してくれません。 $ mkdir -m 0 empty-noperm-dir $ sudo ls -la empty-noperm-dir 合計 8 d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 . drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 .. $ ruby -v -rfileutils -e 'FileUtils.rm_rf("empty-noperm-dir")' ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] $ sudo ls -la empty-noperm-dir 合計 8 d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 . drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 .. $ rm -rf empty-noperm-dir $ sudo ls -la empty-noperm-dir ls: empty-noperm-dir にアクセスできません: そのようなファイルやディレクトリはありません この例では指定したディレクトリがアクセス権がない空ディレクトリですが、 サブディレクトリの場合も同じ問題が発生します。 Windows ならしょうがない(私の知る限りアクセス権のないファイルは 削除不可なので)と思うのですが、少なくとも UNIX 系の OS では rm -rf と 同じく削除して欲しいです。 =end
on 2013-02-18 01:12
Issue #6756 has been updated by ko1 (Koichi Sasada). Assignee set to nobu (Nobuyoshi Nakada) Target version changed from next minor to 2.1.0 fileutils のメンテナさんは居ないようですが、 http://bugs.ruby-lang.org/projects/ruby/wiki/Maintainers こういうチケットはどうしておけばいいでしょうか...。 とりあえず nobu に振っておきます。 ---------------------------------------- Bug #6756: FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない https://bugs.ruby-lang.org/issues/6756#change-36466 Author: fumiyas (Fumiyasu SATOH) Status: Open Priority: Normal Assignee: nobu (Nobuyoshi Nakada) Category: lib Target version: 2.1.0 ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] =begin UNIX の rm コマンドは、(({rm -rf dir})) でアクセス権がない空ディレクトリを 削除しますが、(({FileUtils.rm_rf("dir")})) は削除してくれません。 $ mkdir -m 0 empty-noperm-dir $ sudo ls -la empty-noperm-dir 合計 8 d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 . drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 .. $ ruby -v -rfileutils -e 'FileUtils.rm_rf("empty-noperm-dir")' ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] $ sudo ls -la empty-noperm-dir 合計 8 d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 . drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 .. $ rm -rf empty-noperm-dir $ sudo ls -la empty-noperm-dir ls: empty-noperm-dir にアクセスできません: そのようなファイルやディレクトリはありません この例では指定したディレクトリがアクセス権がない空ディレクトリですが、 サブディレクトリの場合も同じ問題が発生します。 Windows ならしょうがない(私の知る限りアクセス権のないファイルは 削除不可なので)と思うのですが、少なくとも UNIX 系の OS では rm -rf と 同じく削除して欲しいです。 =end
on 2013-02-18 02:10
Issue #6756 has been updated by xibbar (Takeyuki Fujioka). これはUNIXの挙動に合わせてもいいと思いました。 なので、 kosaki さんに +1 です。 反対の度合いはどうですか? > ayumin ---------------------------------------- Bug #6756: FileUtils.rm_rf がアクセス権のない空ディレクトリを削除しない https://bugs.ruby-lang.org/issues/6756#change-36479 Author: fumiyas (Fumiyasu SATOH) Status: Open Priority: Normal Assignee: nobu (Nobuyoshi Nakada) Category: lib Target version: 2.1.0 ruby -v: ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] =begin UNIX の rm コマンドは、(({rm -rf dir})) でアクセス権がない空ディレクトリを 削除しますが、(({FileUtils.rm_rf("dir")})) は削除してくれません。 $ mkdir -m 0 empty-noperm-dir $ sudo ls -la empty-noperm-dir 合計 8 d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 . drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 .. $ ruby -v -rfileutils -e 'FileUtils.rm_rf("empty-noperm-dir")' ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux] $ sudo ls -la empty-noperm-dir 合計 8 d--------- 2 fumiyas fumiyas 4096 7月 20 01:10 . drwxrwxr-x 11 fumiyas fumiyas 4096 7月 20 01:10 .. $ rm -rf empty-noperm-dir $ sudo ls -la empty-noperm-dir ls: empty-noperm-dir にアクセスできません: そのようなファイルやディレクトリはありません この例では指定したディレクトリがアクセス権がない空ディレクトリですが、 サブディレクトリの場合も同じ問題が発生します。 Windows ならしょうがない(私の知る限りアクセス権のないファイルは 削除不可なので)と思うのですが、少なくとも UNIX 系の OS では rm -rf と 同じく削除して欲しいです。 =end
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.