Subversion n'a pas de fonction intégrée «ne pas valider» / «ignorer lors de la validation», depuis février 2016 / version 1.9. Cette réponse est une solution de contournement de ligne de commande non idéale
Comme le déclare l'OP, TortoiseSVN a une liste de modifications intégrée, "ignore-on-commit", qui est automatiquement exclue des validations. Le client de ligne de commande n'a pas cela, vous devez donc utiliser plusieurs listes de modifications pour accomplir ce même comportement (avec des mises en garde) :
- un pour le travail que vous souhaitez engager [travail]
- un pour les choses que vous voulez ignorer [ignore-on-commit]
Puisqu'il y a un précédent avec TortoiseSVN, j'utilise "ignore-on-commit" dans mes exemples pour les fichiers que je ne veux pas valider. J'utiliserai «travail» pour les fichiers que je fais, mais vous pouvez choisir le nom que vous voulez.
Tout d'abord, ajoutez tous les fichiers à une liste de modifications nommée "work". Cela doit être exécuté à partir de la racine de votre copie de travail:
svn cl work . -R
Cela ajoutera récursivement tous les fichiers de la copie de travail à la liste de modifications nommée "work". Il y a un inconvénient à cela: comme de nouveaux fichiers sont ajoutés à la copie de travail, vous devrez ajouter spécifiquement les nouveaux fichiers ou ils ne seront pas inclus. Deuxièmement, si vous devez l'exécuter à nouveau, vous devrez alors ajouter à nouveau tous vos fichiers "Ignorer lors de la validation". Pas idéal - vous pouvez commencer à maintenir votre propre liste «ignorer» dans un fichier comme d'autres l'ont fait.
Ensuite, pour les fichiers que vous souhaitez exclure:
svn cl ignore-on-commit path\to\file-to-ignore
Étant donné que les fichiers ne peuvent être que dans une seule liste de modifications, exécuter cet ajout après votre précédent ajout de «travail» supprimera le fichier que vous voulez ignorer de la liste de modifications «travail» et le placera dans la liste de modifications «ignorer lors de la validation».
Lorsque vous êtes prêt à valider les fichiers modifiés que vous souhaitez valider, vous ajoutez simplement "--cl work" à votre validation:
svn commit --cl work -m "message"
Voici à quoi ressemble un exemple simple sur ma machine:
D:\workspace\trunk>svn cl work . -R
Skipped '.'
Skipped 'src'
Skipped 'src\conf'
A [work] src\conf\db.properties
Skipped 'src\java'
Skipped 'src\java\com'
Skipped 'src\java\com\corp'
Skipped 'src\java\com\corp\sample'
A [work] src\java\com\corp\sample\Main.java
Skipped 'src\java\com\corp\sample\controller'
A [work] src\java\com\corp\sample\controller\Controller.java
Skipped 'src\java\com\corp\sample\model'
A [work] src\java\com\corp\sample\model\Model.java
Skipped 'src\java\com\corp\sample\view'
A [work] src\java\com\corp\sample\view\View.java
Skipped 'src\resource'
A [work] src\resource\icon.ico
Skipped 'src\test'
D:\workspace\trunk>svn cl ignore-on-commit src\conf\db.properties
D [work] src\conf\db.properties
A [ignore-on-commit] src\conf\db.properties
D:\workspace\trunk>svn status
--- Changelist 'work':
src\java\com\corp\sample\Main.java
src\java\com\corp\sample\controller\Controller.java
src\java\com\corp\sample\model\Model.java
M src\java\com\corp\sample\view\View.java
src\resource\icon.ico
--- Changelist 'ignore-on-commit':
M src\conf\db.properties
D:\workspace\trunk>svn commit --cl work -m "fixed refresh issue"
Sending src\java\com\corp\sample\view\View.java
Transmitting file data .done
Committing transaction...
Committed revision 9.
Une alternative serait d'ajouter simplement chaque fichier que vous souhaitez engager à une liste de modifications «de travail», et même de ne pas maintenir une liste d'ignorance, mais c'est aussi beaucoup de travail. Vraiment, la seule solution simple et idéale est de savoir si / quand cela sera implémenté dans SVN lui-même. Il y a un problème de longue date à ce sujet dans le suivi des problèmes de Subversion, SVN-2858 , au cas où cela changerait à l'avenir.