From: knu@... Date: 2018-05-16T09:19:11+00:00 Subject: [ruby-dev:50545] [Ruby trunk Bug#5419] FileUtils.cp_rの:preserveの動作 Issue #5419 has been updated by knu (Akinori MUSHA). と思ったけどそれはさすがに大丈夫でした。 ``` ruby -rfileutils -e 'include FileUtils; mkdir("d1"); touch("d1/a"); chmod(0500, "d1"); cp_r("d1", "d2", preserve: true)' ``` ---------------------------------------- Bug #5419: FileUtils.cp_rの:preserveの動作 https://bugs.ruby-lang.org/issues/5419#change-72037 * Author: seki (Masatoshi Seki) * Status: Closed * Priority: Normal * Assignee: seki (Masatoshi Seki) * Target version: * ruby -v: ruby 1.9.4dev (2011-09-05 trunk 33195) [x86_64-darwin11.1.0] * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN, 2.5: UNKNOWN ---------------------------------------- FileUtils.cp_rで:preserveとtrueに設定してディレクトリをコピーしたときに、 空でないディレクトリの時刻が設定されません。 おそらく、ディレクトリについて ent.copy_metadata した後に、そのディレクトリ以下にファイルが増えるためだと思います。 2パスで処理して、一巡目にコピー、二巡目にent.copy_metadata したら直るような気がしますが、もっとかっこいい方法もありそうです。 -- https://bugs.ruby-lang.org/