Empêcher le commit d'un fichier déjà versionné sur SVN
svn:ignore
ne vous sera d'aucun secours puisqu'elle ne concerne que les fichiers non versionnés. Un svn rm --keep-local
est également hors de question puisqu'il supprimerait le fichier du dépôt, voire chez les autres utilisateurs (sans compter que cette option n'est disponible qu'à partir de la version 1.5.0). Voici comment passer outre cet état de fait :cp config.file /some/other/folder # on copie le fichier hors du dépôt
svn rm config.file # on supprime le fichier à la fois aux yeux de SVN et "physiquement"
svn propset svn:ignore "config.file" . # le fichier n'existant plus, on peut dire à SVN de l'ignorer à l'avenir
mv /some/other/folder/config.file . # on ramène le fichier ; il n'est plus versionné, et ne sera plus pris en compte grâce à la commande précédente
svn revert config.file # on demande à SVN d'"oublier" la suppression programmée de ce fichier
Désormais, ce fichier ne sera plus committé, même avec un
svn add --force
. Pour appliquer le même traitement à un répertoire entier, il vous suffit d'ajouter l'option --recursive
à la commande svn revert
.