我遇到了Ant的Sync
任务的问题,其中文件被不必要地复制。目标是使用${destination}
目录的内容更新${source}
目录中的所有内容,即使${destination}
中的文件较新。基于Ant的documentation,我添加了overwrite
属性以确保覆盖${destination}
。
<target name="test">
<sync todir="${destination}" overwrite="true" granularity="5000">
<fileset dir="${source}">
</fileset>
</sync>
</target>
此任务正确覆盖${destination}
,但始终复制文件,即使源和目标相同也是如此。这会导致很多不必要的流量。
根据文档,我尝试配置granularity
属性,但这似乎没有任何效果。我也在同一台机器上的两个目录之间运行这个测试,所以我不希望时间戳差异(当然不超过5秒)。
有关Sync
任务和overwrite
属性为何以这种方式运行的任何想法?是否有任何解决方案使用默认的Ant任务集来防止不必要的文件复制?