Is there any command in ant to copy files from one folder structure to another without checking the last modified date/time overwriting files. Basically I want all extra files from folder A to folder B. That is: no files of folder B are replaced but extra files of folder A comes to folder B.
I saw "ant copy" and "ant move" commands, but didn't help. Any suggestions.
Просто используйте тег
с набором файлов как ** / *
и явно установите для атрибута перезаписи значение false. Я использую это все время:
<copy todir="/your/target" overwrite="false">
<fileset dir="/your/source" />
</copy>
Если нет элегантного решения, вы всегда можете сделать это в следующей последовательности:
(Делайте наоборот, заменяя новые файлы, а не старые)
Простым решением вашей проблемы является использование параметра перезаписи для команды копирования. Это гарантирует, что файлы не будут заменены
<copy todir="B" verbose="true" overwrite="false">
<fileset dir="A"/>
</copy>
Более сложным примером является использование селектора набора файлов
<copy todir="B" verbose="true">
<fileset dir="A">
<present targetdir="B" present="srconly"/>
<date datetime="01/01/2001 12:00 AM" when="after"/>
</fileset>
</copy>
В этом примере я использовал селектор присутствует , чтобы выбрать файл, который не присутствует в целевом каталоге (функционально то же, что и проверка перезаписи), и я добавил дополнительное условие date , чтобы проверить, был ли файл изменен с определенной даты.