{{tag>svn VCS version ignorer fichier depot subversion}}
====== 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 =====
* [[http://blog.bogojoker.com/2008/07/command-line-svnignore-a-file/]]