目前我正在这样做:
<delete dir="${RSA.dir}/file1" />
<copy todir="${RSA.dir}/file1" >
<fileset dir="${CLEARCASE.dir}/file1" />
</copy>
并为其他文件重复同样的事情——但这需要很长时间。
我只想删除和复制已更新的文件,它们的修改日期在明文中比在 RSA 中晚。
我怎样才能做到这一点?
最佳答案
查看 sync 任务。
如果你想根据文件内容来做,而忽略时间戳,我认为这个宏会做到这一点:
<macrodef name="mirror" description="Copy files only if different; remove files that do not exist in dir. This works similiar to robocopy /MIR." >
<attribute name="dir"/>
<attribute name="todir"/>
<sequential>
<copy overwrite="true" todir="@{todir}">
<fileset dir="@{dir}">
<different targetdir="${todir}"/>
</fileset>
</copy>
<delete includeemptydirs="true">
<fileset dir="@todir}">
<present targetdir="${dir}" present="srconly"/>
</fileset>
</delete>
</sequential>
</macrodef>
关于ant - 如何仅处理已更改的文件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1123151/