Excluyendo .git en una hormiga < tar > tarea
Pregunta
Estoy usando Ant 1.7.1 para tar el contenido de un directorio que contiene un subdirectorio .git. Mi tarea actual es
<tar
destfile="sali-src-${version}.tgz"
basedir="${basedir}"
compression="gzip"
excludes=".git, .gitignore, *.ipr, *.iws, *.iml">
</tar>
Pero el tarball resultante contiene el subdirectorio .git. ¿Alguien podría señalar cómo podría evitar que se incluya?
Solución
Esto funciona:
<?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>
Sus patrones estaban equivocados, para obtener más información sobre los patrones, lea aquí: http: // ant.apache.org/manual/dirtasks.html#patterns
Otros consejos
Ant tiene exclusiones predeterminadas preconfiguradas que impiden tareas basadas en directorios desde el procesamiento de archivos de control para CVS, Subversion y VSS. Desafortunadamente, estos valores predeterminados no cubren ningún otro sistema de control de versiones. Sin embargo, puede modificar los valores predeterminados utilizando < defaultexcludes > tarea :
<defaultexcludes add="**/.git/**,**/.gitignore"/>
Esto excluirá sus archivos Git de cualquier procesamiento posterior (por lo que cada uso posterior de < tar > ;, < javac > ;, < jar > o similar ignorará los archivos de control).