Escludendo .git in una formica & tar; gt; compito
Domanda
Sto usando Ant 1.7.1 per recuperare il contenuto di una directory, che contiene una sottodirectory .git. Il mio compito attuale è
<tar
destfile="sali-src-${version}.tgz"
basedir="${basedir}"
compression="gzip"
excludes=".git, .gitignore, *.ipr, *.iws, *.iml">
</tar>
Ma il tarball risultante contiene la sottodirectory .git. Qualcuno potrebbe indicare come ho potuto impedire che fosse incluso?
Soluzione
Funziona:
<?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>
I tuoi pattern erano sbagliati, per maggiori informazioni sui pattern leggi qui: http: // ant.apache.org/manual/dirtasks.html#patterns
Altri suggerimenti
Ant ha predefinito preconfigurato esclude che impedisce le attività basate su directory dall'elaborazione di file di controllo per CVS, Subversion e VSS. Sfortunatamente, queste impostazioni predefinite non coprono nessun altro sistema di controllo della versione. Tuttavia, puoi modificare le impostazioni predefinite usando < defaultexcludes > compito :
<defaultexcludes add="**/.git/**,**/.gitignore"/>
Ciò escluderà i tuoi file Git da qualsiasi elaborazione successiva (quindi ogni uso successivo di < tar > ;, < javac > ;, < jar > o simili ignorerà i file di controllo).