2010-09-22 6 views
2

Je cherche à créer un répertoire en utilisant SVN ANT, mais seulement si le répertoire n'existe pas (en utilisant la tâche imbriquée mkdir avec SVN ANT semble échouer si vous spécifiez un répertoire qui existe déjà).Déterminer si un répertoire existe déjà en utilisant SVN ANT

Y a-t-il un drapeau isExists ou quelque chose de ce genre que je peux utiliser ici? Ou quelque chose d'autre que je peux utiliser pour détecter les répertoires existants sur un référentiel SVN avant de continuer à créer mes répertoires via un script ANT?

Toutes les réflexions à ce sujet seraient grandement appréciées.

Cheers,

Stuart

Répondre

0

La tâche available vous permet de définir une propriété dépendante de l'existence d'un fichier ou un répertoire

<available property="desired-dir-exists" file="src/desired_dir"/> 

<target name="mkdir" unless="desired-dir-exists"> 
    <svn> 
     <mkdir path="src/desired_dir"/> 
    </svn> 
</target> 
+0

Il fait référence à la tâche SvnAnt, pas "simple fourmi" – Grodriguez

0

Deux options:

  1. Vous pouvez définir l'attribut failonerror sur false. De cette façon, si le répertoire existe, un message d'erreur sera imprimé mais la construction ne sera pas annulée.

    <svn failonerror="false"> 
        <mkdir path="..." message="..."/> 
    </svn> 
    
  2. Si vous voulez éviter le message d'erreur vous aurez probablement besoin de faire quelque chose de plus complexe, comme l'exécution d'une commande/mise à jour, puis examiner votre copie de travail pour voir si le répertoire que vous voulez créer déjà existe.

+0

OK merci pour les commentaires des gars, je vais donner à vos suggestions un essai. – sjwb

3

Vous souhaitez utiliser le svnExists condition. Cela vous permet de faire quelque chose comme (en utilisant Ant-contrib)

<if> 
    <not><svnExists target="..."/></not> 
    <then> 
     <svn> 
      <mkdir url="..." message="Creating a directory" /> 
     </svn> 
    </then> 
</if> 

Note: tous les répertoires intermédiaires doivent déjà exister lors de l'utilisation mkdir.

+0

+1 pour ce lien vers svnExists – mgaert

+1

Oups, semble être le plus haut niveau maintenant: http://subclipse.tigris.org/svnant/conditions.html#svnexists – mgaert

Questions connexes