Следующий скрипт ANT будет копировать только те файлы, которых нет в обоих каталогах:
<project name="copy" default="copy-files">
<target name="copy-files">
<copy todir="C" verbose="true" overwrite="true">
<fileset dir="A">
<present present="srconly" targetdir="B"/>
</fileset>
<fileset dir="B">
<present present="srconly" targetdir="A"/>
</fileset>
</copy>
</target>
</project>
Тестовая настройка:
$ tree
.
|-- A
| |-- one
| |-- shared
| `-- two
|-- B
| |-- four
| |-- shared
| `-- three
`-- build.xml
Запуск сборки демонстрирует, что файлы с именем «shared» не копируются:
$ ant
Buildfile: build.xml
copy-files:
[copy] Copying 4 files to C
[copy] Copying A/one to C/one
[copy] Copying A/two to C/two
[copy] Copying B/four to four
[copy] Copying B/three to three
BUILD SUCCESSFUL
Total time: 0 seconds