Ant 同步任务会删除提及要保留的目录



我想在执行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。

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

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

我希望 dir1 包含 .git 和 f1。

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

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

最新更新