目前我正在这样做:

<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/

10-11 20:56
查看更多