ant同步任务删除提到的目录以保留

时间:2017-06-23 09:34:10

标签: ant preserve

我想在执行synk ant任务时保留“.git”目录及其所有内容,但它会删除.git目录的内容。

<sync todir="${local.git.dir}" includeEmptyDirs="true">
    <fileset dir="${img.dir}"/>
    <preserveintarget>
        <include name=".git"/>
    </preserveintarget>
</sync>

为什么根据这种语法,synk会删除.git目录的内容?

此synk任务应将文件f1(dir="${img.dir}")复制到目录dir1(todir="${local.git.dir}"); dir1包含目录.git。

只有当我提到将文件f1放入目录dir1 / target时,Synk任务才会删除.git目录的内容。在这种情况下,我将有这样的结构:

  • dir1包含目录:.git和target
  • 文件f1被复制到目标目录(我不想要)

我希望dir1包含.git和f1。

1 个答案:

答案 0 :(得分:0)

我发现了问题。我没有指定保留.git中的文件。

通过将。**附加到.git我解决了问题:<include name=".git/**"/>而不是<include name=".git"/>