summaryrefslogtreecommitdiff
path: root/lib/fileutils.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/fileutils.rb')
-rw-r--r--lib/fileutils.rb10
1 files changed, 5 insertions, 5 deletions
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 ),