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