From 5e12815fb1cbc102258bfe4904acf7e75f4c7e54 Mon Sep 17 00:00:00 2001 From: eban Date: Tue, 5 Aug 2003 09:09:35 +0000 Subject: [PATCH] * lib/fileutils.rb (install): should preserve timestamp only. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4327 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ lib/fileutils.rb | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index e86337b2b8..e632ba5219 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Tue Aug 5 17:58:57 2003 WATANABE Hirofumi + + * lib/fileutils.rb (install): should preserve timestamp only. + Tue Aug 5 15:47:34 2003 Nobuyoshi Nakada * eval.c (rb_load): should preserve current source file/line. diff --git a/lib/fileutils.rb b/lib/fileutils.rb index d6714229a9..dfec5f9005 100644 --- a/lib/fileutils.rb +++ b/lib/fileutils.rb @@ -639,10 +639,10 @@ module FileUtils fu_each_src_dest(src, dest) do |s,d| unless FileTest.exist?(d) and compare_file(s,d) - fu_preserve_attr(options[:preserve], s, d) { - remove_file d, true - copy_file s, d - } + remove_file d, true + st = File.stat(s) if options[:preserve] + copy_file s, d + File.utime st.atime, st.mtime, d if options[:preserve] File.chmod options[:mode], d if options[:mode] end end @@ -769,7 +769,7 @@ module FileUtils 'copy' => %w( preserve noop verbose ), 'cp' => %w( preserve noop verbose ), 'cp_r' => %w( preserve noop verbose ), - 'install' => %w( mode noop verbose ), + 'install' => %w( preserve mode noop verbose ), 'link' => %w( force noop verbose ), 'ln' => %w( force noop verbose ), 'ln_s' => %w( force noop verbose ),