Исключая .git в задании Ant <tar> - PullRequest
5 голосов
/ 18 января 2009

Я использую Ant 1.7.1 для архивирования содержимого каталога, который содержит подкаталог .git. Моя текущая задача

<tar
    destfile="sali-src-${version}.tgz"
    basedir="${basedir}"
    compression="gzip"
    excludes=".git, .gitignore, *.ipr, *.iws, *.iml">
</tar>

Но полученный архив содержит подкаталог .git. Кто-нибудь может указать, как я могу предотвратить его включение?

Ответы [ 2 ]

3 голосов
/ 18 января 2009

Ant имеет предварительно настроенное значение по умолчанию, исключая , которые не позволяют задачам на основе каталогов обрабатывать управляющие файлы для CVS, Subversion и VSS. К сожалению, эти значения по умолчанию не распространяются на другие системы контроля версий. Однако вы можете изменить значения по умолчанию, используя задачу :

<defaultexcludes add="**/.git/**,**/.gitignore"/>

Это исключит ваши файлы Git из любой последующей обработки (поэтому каждое последующее использование , , или аналогичного будет игнорировать управляющие файлы).

3 голосов
/ 18 января 2009

Это работает:

<?xml version="1.0"?>
<project name="test" default="tar">
        <target name="tar">
            <tar
                destfile="sali-src-${version}.tgz"
                basedir="${basedir}"
                compression="gzip"
                excludes=".git/**, .gitignore/**, **/*.ipr, **/*.iws, **/*.iml">
            </tar>
        </target>
</project>

Ваши шаблоны были неверны, более подробную информацию о шаблонах читайте здесь: http://ant.apache.org/manual/dirtasks.html#patterns

...