ant sync任务删除提到的目录保留

ant sync task deletes the directory mentioned to 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 和 f1.

我发现了问题。我没有指定保留 .git.

中的文件

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