Bug #5419
closedFileUtils.cp_rの:preserveの動作
Description
FileUtils.cp_rで:preserveとtrueに設定してディレクトリをコピーしたときに、
空でないディレクトリの時刻が設定されません。
おそらく、ディレクトリについて ent.copy_metadata した後に、そのディレクトリ以下にファイルが増えるためだと思います。
2パスで処理して、一巡目にコピー、二巡目にent.copy_metadata したら直るような気がしますが、もっとかっこいい方法もありそうです。
Updated by nobu (Nobuyoshi Nakada) about 13 years ago
その「もっとかっこいい方法」というのをちょっと教えて下さい。
Updated by nobu (Nobuyoshi Nakada) about 13 years ago
- Status changed from Open to Assigned
- Assignee set to seki (Masatoshi Seki)
- Target version changed from 1.9.3 to 1.9.4
Updated by Anonymous about 13 years ago
咳といいます。
On 2011/10/07, at 17:16, Nobuyoshi Nakada wrote:
その「もっとかっこいい方法」というのをちょっと教えて下さい。
ほんというと、よくわかってません。
木の辿りの帰りがけにmetadata_copyするのか、あるいは、あとでやるキューをつくるのか...
fu_each_src_destを二回まわるほうがずっと良いのかも。
Updated by Anonymous about 13 years ago
On 2011/10/07, at 17:17, Nobuyoshi Nakada wrote:
Issue #5419 has been updated by Nobuyoshi Nakada.
Status changed from Open to Assigned
Assignee set to Masatoshi Seki
Target version changed from 1.9.3 to 1.9.4
う。アサインされたの?
Updated by naruse (Yui NARUSE) almost 12 years ago
- Target version changed from 1.9.4 to 2.6
Updated by mame (Yusuke Endoh) over 6 years ago
- Status changed from Assigned to Closed
fileutils は github の方に切り出されたので、そっちにチケットを作りました。
https://github.com/ruby/fileutils/issues/21
こっちは閉じとこうと思います。
Updated by knu (Akinori MUSHA) over 6 years ago
おお。処理順がそうなっているとすると、書き込み禁止のディレクトリのコピーもできませんね。
Updated by knu (Akinori MUSHA) over 6 years ago
と思ったけどそれはさすがに大丈夫でした。
ruby -rfileutils -e 'include FileUtils; mkdir("d1"); touch("d1/a"); chmod(0500, "d1"); cp_r("d1", "d2", preserve: true)'
Updated by jeremyevans0 (Jeremy Evans) over 4 years ago
- Related to Bug #7246: FileUtils.cp_r does not preserve attributes of directories added