2009-01-18 15 views
5

Estoy usando Ant 1.7.1 para subir el contenido de un directorio, que contiene un subdirectorio .git. Mi tarea actual esExcluyendo .git en una tarea Ant <tar>

<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 puedo evitar que se incluya?

Respuesta

3

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 de leer aquí: http://ant.apache.org/manual/dirtasks.html#patterns

3

hormiga tiene pre-configured default excludes que impiden que las tareas basadas en directorio del 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 por defecto utilizando el <defaultexcludes> task:

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

Esto excluirá los archivos de Git desde cualquier procesamiento posterior (por lo que cada uso posterior de < alquitrán >, <javac>, <frasco> o similares ignorará la controlar archivos).

+0

Nota, Ant 1.8.2 añadido excluye por defecto para Git y Mercurial. –

Cuestiones relacionadas