2009-01-18 5 views
5

Ich verwende Ant 1.7.1, um den Inhalt eines Verzeichnisses zu tarieren, das ein .git-Unterverzeichnis enthält. Meine aktuelle Aufgabe istAusschließen von .git in einer Ant <tar> Aufgabe

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

Aber die resultierende Tarball enthält das .git Unterverzeichnis. Könnte irgendjemand darauf hinweisen, wie ich verhindern könnte, dass es aufgenommen wird?

Antwort

3

Dies funktioniert:

<?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> 

Ihre Muster waren falsch, für weitere Informationen über Muster hier lesen: http://ant.apache.org/manual/dirtasks.html#patterns

3

Ant pre-configured default excludes hat, die verzeichnisbasierte Aufgaben bei der Verarbeitung von Steuerdateien für CVS, Subversion verhindern und VSS. Leider decken diese Standardeinstellungen keine anderen Versionskontrollsysteme ab. Allerdings können Sie die Standardeinstellungen ändern mit der <defaultexcludes> task:

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

Das Git-Dateien aus jeder der nachfolgenden Verarbeitung ausschließen (so dass jeder nachfolgende Verwendung von <Teer>, <Javac>, <jar> oder ähnlich wird das ignorieren Steuerungsdateien).

+0

Hinweis, Ant 1.8.2 hinzugefügt Standardausschlüsse für Git und Mercurial. –

Verwandte Themen