所以我有一个如下的 rake 文件:
require 'fileutils'
task :copy do
FileUtils.cp_r 'src', 'target'
end
我怎样才能:
- 只复制已更改的文件?
- 使
:copy
任务对src
目录具有依赖性,以便仅在需要时启动?:copy => 'src'
并且:copy => FileList['src/*'].to_a
似乎不起作用。
我可以像这样处理第一个问题:
task :copy do
sh 'rsync -ru src/* target'
end
如果可能的话,我想只用 ruby / rake 来做这件事。这在某种程度上也解决了第二个问题,因为rsync
如果没有文件更改,则不会做任何事情,但我希望 rake 任务尽可能不执行。