Table des matières
Puisque toutes les commandes pour TortoiseSVN sont contrôlées par des paramètres de ligne de commande, vous pouvez l'automatiser avec des scripts batch ou démarrer des commandes spécifiques et des boîtes de dialogues depuis d'autres programmes (par exemple votre éditeur de texte favori).
Souvenez-vous que TortoiseSVN est un client GUI et ce guide d'automatisation vous montre comment faire les boîtes de dialogues de TortoiseSVN apparaissent pour collecter les entrées utilisateur. Si vous voulez écrire un script qui n'exige aucune entrée, vous devriez utiliser le client en ligne de commande Subversion officiel à la place.
Le programme GUI de TortoiseSVN s'appelle TortoiseProc.exe. Toutes les commandes sont spécifiées avec le paramètre /command:abcd où abcd est le nom de la commande requise. La plupart de ces commandes ont besoin d'au moins un argument de chemin, que l'on donne avec /path:"un\chemin". Dans la table suivante, la commande fait référence au paramètre /command:abcd et le chemin se réfère au paramètre /path:"un\chemin".
Puisque certaines des commandes peuvent prendre une liste de chemins cibles (par exemple livrer plusieurs fichiers spécifiques) le paramètre /path peut prendre plusieurs chemins, séparés par un caractère *.
TortoiseSVN utilise des fichiers temporaires pour passer des arguments multiples entre l'extension du shell et le programme principal. À partir de la version 1.5.0 et supérieures, le paramètre /notempfile est obsolète et il est inutile de l'ajouter désormais.
The progress dialog which is used for commits, updates and many more commands usually stays open after the command has finished until the user presses the button. This can be changed by checking the corresponding option in the settings dialog. But using that setting will close the progress dialog, no matter if you start the command from your batch file or from the TortoiseSVN context menu.
To specify a different location of the configuration file, use the parameter /configdir:"path\to\config\directory". This will override the default path, including any registry setting.
Pour fermer la boîte de dialogue de progression automatiquement à la fin d'une commande sans utiliser le réglage permanent, vous pouvez lui passer le paramètre /closeonend.
/closeonend:0 ne ferme pas la boîte de dialogue automatiquement
/closeonend:1 ferme automatiquement s'il n'y a pas d'erreurs
/closeonend:2 ferme automatiquement s'il n'y a pas d'erreurs ni de conflits
/closeonend:2 ferme automatiquement s'il n'y a pas d'erreurs, de conflits ni de fusions
/closeonend:4 ferme automatiquement s'il n'y a pas d'erreurs, de conflits ni de fusions pour les opérations locales
Le tableau ci-dessous liste toutes les commandes qui peuvent être accessibles en utilisant la ligne de commande TortoiseProc.exe. Comme décrit ci-dessus, celles-ci devraient être de la forme /command:abcd. Dans le tableau, le préfixe /command est omis pour économiser de la place.
Tableau D.1. Liste des commandes et des options disponibles
| Commande | Description |
|---|---|
| :about | Affiche la boîte de dialogue d'À propos. Elle s'affiche aussi si aucune commande n'est fournie. |
| :log | Opens the log dialog. The /path specifies the file or folder for which the log should be shown. Three additional options can be set: /startrev:xxx, /endrev:xxx and /strict |
| :checkout | Ouvre la boîte de dialogue d'extraction. Le /path spécifie le répertoire cible et le /url spécifie l'URL à extraire. |
| :import | Opens the import dialog. The /path specifies the directory with the data to import. |
| :update | Met à jour la copie de travail dans /path vers HEAD. Si l'option /rev est fournie alors une boîte de dialogue est affichée pour demander à l'utilisateur à quelle révision la mise à jour devrait se faire. Pour éviter la boîte de dialogue, spécifiez un numéro de révision /rev:1234. Les autres options sont /nonrecursive et /ignoreexternals. |
| :commit | Opens the commit dialog. The /path specifies the target directory or the list of files to commit. You can also specify the /logmsg switch to pass a predefined log message to the commit dialog. Or, if you don't want to pass the log message on the command line, use /logmsgfile:chemin, where chemin points to a file containing the log message. To pre-fill the bug ID box (in case you've set up integration with bug trackers properly), you can use the /bugid: "l'id du bug ici" to do that. |
| :add | Ajoute les fichiers de /path au contrôle de version. |
| :revert | Annule les modifications locales d'une copie de travail. Le /path indique quels éléments annuler. |
| :cleanup | Nettoie les opérations interrompues ou annulées et déverrouille la copie de travail dans /path. |
| :resolve | Marque un fichier en conflit indiqué dans /path comme résolu. Si /noquestion est donné, alors la résolution est faite sans demander d'abord à l'utilisateur si cela doit être vraiment fait. |
| :repocreate | Crée un référentiel dans /path |
| :switch | Ouvre la fenêtre Aller sur. Le /path spécifie le répertoire cible. |
| :export | Exports the working copy in /path to another directory. If the /path points to an unversioned directory, a dialog will ask for an URL to export to the directory in /path. |
| :merge | Ouvre la fenêtre de fusion. Le /path spécifie le répertoire cible. |
| :mergeall | Ouvre la fenêtre fusionner tout. Le /path spécifie le répertoire cible. |
| :copy | Ouvre la fenêtre des branches/tags. Le /path est la copie de travail de laquelle faire une branche ou un tag. Et le /url est l'URL de destination. Vous pouvez également spécifier le /logmsg pour passer un message prédéfini à la fenêtre des branches/tags. Ou si vous voulez passer le message en ligne de commande, utilisez /logmsgfile:chemin, où chemin pointe sur un fichier contenant le message. |
| :settings | Ouvre la boîte de dialogue de configuration. |
| :remove | Supprime les fichiers dans /path du contrôle de version. |
| :rename | Renomme le fichier dans /path. Le nouveau nom pour le fichier est demandé par une boîte de dialogue. Pour éviter la question concernant le renommage de fichiers similaires en une étape, passez /noquestion. |
| :diff | Démarre le programme externe de comparaison indiqué dans la configuration de TortoiseSVN. Le /path spécifie le premier fichier. Si l'option /path2 est activée, alors le programme de comparaison est lancé avec ces deux fichiers. Si /path2 est omit, alors la comparaison est faite entre le fichier dans /path et sa BASE.Pour renseigner explicitement les révisions à comparer, utiliser /startrev:xxx et /endrev:xxx. Si /blame est activé et /path2 non, alors la comparaison est faite en bannissant d'abord les révisions données. |
| :showcompare |
Depending on the URLs and revisions to compare, this either shows a unified diff (if the option Les options |
| :conflicteditor | Démarre l'éditeur de conflit indiqué dans la configuration de TortoiseSVN avec les fichiers corrects pour le fichier en conflit dans /path. |
| :relocate | Ouvre la boîte de dialogue Relocaliser. Le /path spécifie le chemin de la copie de travail à relocaliser. |
| :help | Ouvre le fichier d'aide. |
| :repostatus | Ouvre la fenêtre vérifier les modifications. Le /path spécifie le répertoire de la copie de travail. |
| :repobrowser | Ouvre la fenêtre de l'explorateur de référentiel, pointant sur l'URL de la copie de travail donnée dans /path ou /path pointe directement sur une URL. Une option supplémentaire /rev:xxx peut être utilisée pour spécifier la révision devant être affichée. Si le /rev:xxx n'est pas renseigné, la version de tête est utilisée par défaut. Si /path pointe sur une URL, le /projectpropertiespath:path/to/wc spécifie le chemin à partir duquel il faut lire et utiliser les propriétés du projet. |
| :ignore | Ajoute toutes les cibles dans /path à la liste des éléments ignorés, c'est-à-dire ajoute le svn:ignore à ces fichiers. |
| :blame |
Ouvre la fenêtre de bannissement pour le fichier spécifier dans Si les options If the option The options |
| :cat | Enregistre un fichier depuis une URL ou depuis un chemin de la copie de travail donné dans /path à l'emplacement donné dans /savepath:chemin. La révision est donnée dans /revision:xxx. Cela peut être utilisé pour obtenir un fichier avec une révision spécifique. |
| :createpatch | Crée un patch pour le chemin donné dans /path. |
| :revisiongraph | Montre le graphique de révision pour le chemin donné dans /path. |
| :lock | Verrouille un ou tous les fichiers dans un répertoire donné dans /path. La boîte de dialogue 'Verrouiller' s'affiche afin de permettre à l'utilisateur d'entrer un commentaire pour le verrou. |
| :unlock | Déverrouille un fichier ou tous les fichiers d'un répertoire donné dans /path. |
| :rebuildiconcache | Reconstruit le cache d'icône Windows. Utilisez-le seulement dans le cas où les icônes Windows sont corrompues. Un effet secondaire à cela (qui ne peut être évité) est que les icônes sur le bureau sont réarrangées. Pour supprimer la fenêtre d'information, passez /noquestion. |
| :properties | Affiche la boîte de dialogue de propriétés pour le chemin donné dans /path. |
Exemples (qui devraient être saisis sur une ligne):
TortoiseProc.exe /command:commit /path:"c:\svn_ct\fichier1.txt*c:\svn_ct\fichier2.txt"
/logmsg:"message de log de test" /closeonend
TortoiseProc.exe /command:update /path:"c:\svn_ct\" /closeonend
TortoiseProc.exe /command:log /path:"c:\svn_ct\fichier1.txt"
/startrev:50 /endrev:60 /closeonend