使用ant更新具有新文件(如果已修改)的目标目录

时间:2014-03-24 08:32:00

标签: ant

我遇到了蚂蚁" copy"的问题。这是我的要求: 我想同步2个dirs(dir1和dir2),但我想保留dir2中的额外文件/目录。我的目标是我想将dir1内容(如果修改)复制到dir2但是想要在dir2中保留任何其他文件/目录。

我尝试了同步任务,但它试图让两个目录保持同步,即它正在删除dir2中存在的额外内容。我没有找到任何标志来禁用此功能:

<sync todir="dir2" failonerror="true" verbose="true">                             
<fileset dir="dir1" excludes="*.svn" />
 </sync>

我尝试使用&#34;修改了&#34;选择器,但它也做同样的事:::(

<copy todir="dir2" failonerror="true">
  <fileset dir="dir1" excludes="*.svn" >                           
     <modified/> <!-- Copies only modified files -->
  </fileset>

任何人都可以建议,我如何通过蚂蚁实现我的要求?

1 个答案:

答案 0 :(得分:0)

默认情况下,ANT复制任务不会覆盖文件:

<copy todir="target/dir2" verbose="true" overwrite="false">
  <fileset dir="src/dir1"/>
</copy>

复制任务还将检测文件是否已更改。

复制任务不会删除文件,因此我不明白为什么你的第二个例子(使用修改后的选择器)不起作用。