267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
|
# File 'lib/fig/os.rb', line 267
def copy(source, target, msg = nil)
if File.directory?(source)
FileUtils.mkdir_p(target)
Dir.foreach(source) do |child|
if child != '.' and child != '..'
copy(File.join(source, child), File.join(target, child), msg)
end
end
else
if !File.exist?(target) || File.mtime(source) != File.mtime(target)
log_info "#{msg} #{target}" if msg
FileUtils.mkdir_p(File.dirname(target))
FileUtils.cp(source, target)
File.utime(File.atime(source), File.mtime(source), target)
end
end
end
|