Project

General

Profile

Actions

Bug #5419

closed

FileUtils.cp_rの:preserveの動作

Added by seki (Masatoshi Seki) about 13 years ago. Updated over 6 years ago.

Status:
Closed
Target version:
-
ruby -v:
ruby 1.9.4dev (2011-09-05 trunk 33195) [x86_64-darwin11.1.0]
[ruby-dev:44581]

Description

FileUtils.cp_rで:preserveとtrueに設定してディレクトリをコピーしたときに、
空でないディレクトリの時刻が設定されません。

おそらく、ディレクトリについて ent.copy_metadata した後に、そのディレクトリ以下にファイルが増えるためだと思います。
2パスで処理して、一巡目にコピー、二巡目にent.copy_metadata したら直るような気がしますが、もっとかっこいい方法もありそうです。


Related issues 1 (0 open1 closed)

Related to Ruby master - Bug #7246: FileUtils.cp_r does not preserve attributes of directoriesClosedmame (Yusuke Endoh)10/31/2012Actions

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

う。アサインされたの?

Actions #5

Updated by naruse (Yui NARUSE) over 11 years ago

  • Target version changed from 1.9.4 to 2.6
Actions #6

Updated by naruse (Yui NARUSE) almost 7 years ago

  • Target version deleted (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)'
Actions #10

Updated by jeremyevans0 (Jeremy Evans) over 4 years ago

  • Related to Bug #7246: FileUtils.cp_r does not preserve attributes of directories added
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0