SVN

Ignorer le versionning d'un fichier dans un dépôt SVN

On peut avoir besoin d'ignorer le versionning d'un fichier précis dans un SVN, par exemple un fichier contenant un login/mot de passe.

Pour se faire, créer un fichier “sample” du fichier, comme par exemple un fichier “connect_db.sample.php” contenant des faux logins/mot de passe qui pourront être stockés dans le SVN. C'est ce fichier qui va être dans le SVN et non le fichier “connect_db.php” réellement inclus. Il faudra ensuite copier le fichier “connect_db.sample.php” en le baptisant “connect_db.php” et adapter son contenu.

Pour ignorer un fichier, il faut ajouter une propriété sur le répertoire pour ignorer ce fichier :

  • Aller dans le repertoire en question dans votre arborescence SVN :
    cd include/
  • Ajouter le fichier à la liste des fichiers ignorés du répertoire courant. Noter le . a la fin de la commande qui est important :
    svn propset svn:ignore connect_db.php .
  • Vérifier que la liste de fichiers ignorés est correcte :
    svn propget svn:ignore .
  • Vous devriez voir un “I” a coté du fichier ignoré en utilisant la commande suivante :
    svn status --no-ignore
  • Il ne reste ensuite plus qu'a faire un commit du changement de propriété, comme par exemple avec la commande suivante :
    svn commit -m "svn:ignore du fichier connect_db.php"

Ignorer le versionning de plusieurs fichiers dans un dépôt SVN

Dans le cas ou vous souhaiter ne pas versionner plusieurs fichiers d'un certain répertoire :

  • Aller dans ce répertoire :
    cd trunk/secret
  • Ajouter les fichiers à la liste des fichiers ignorés grâce à la commande suivante qui va ouvrir un éditeur de texte :
    svn propedit svn:ignore .
  • Ajouter la valeur suivante dans ce fichier pour exclure tous les fichiers .txt du versionning de ce répertoire :
    *.txt
Pour ignorer plusieurs pattern de fichiers, il suffit d'en mettre un par ligne, comme par exemple :
*.txt
*.out
  • Enregistrer et quitter l'éditeur
  • Vérifier que les propriétés sont correctes :
    svn propget svn:ignore .
  • Vous devriez voir un “I” a coté du fichier ignoré en utilisant la commande suivante :
    svn status --no-ignore
  • Il ne reste ensuite plus qu'a faire un commit du changement de propriété, comme par exemple avec la commande suivante :
    svn commit -m "svn:ignore des fichiers *.txt du répertoire secret"
Une autre solution est d'éditer un fichier contenant les exclusions (toujours une par ligne), comme par exemple /tmp/ignore.txt puis de mettre en place l'exclusion grâce à la commande :
svn propset svn:ignore -F /tmp/ignore.txt .

Références

sysadmin/tips/svn.txt · Dernière modification: 2015/01/27 11:11 par james
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0