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 *.
You can also specify a file which contains a list of paths, separated by newlines. The file must be in UTF-16 format, without a BOM. If you pass such a file, use /pathfile instead of /path. To have TortoiseProc delete that file after the command is finished, you can pass the parameter /deletepathfile.
D'habitude, la barre de progression utilisée pour les livraisons, les mises à jour et beaucoup d'autres commandes reste ouverte après que la commande ait fini et jusqu'à ce que l'utilisateur appuie sur le bouton . Ce comportement peut être modifié en cochant l'option correspondante dans la boîte de dialogue de configuration. Mais ainsi la barre de progression se fermera à la fin de l'opération, que vous ayez lancé la commande depuis un fichier batch ou depuis le menu contextuel TortoiseSVN.
Pour spécifier un emplacement différent du fichier de configuration, utilisez le paramètre /configdir:"chemin\vers\répertoire\de\conf". Cela remplacera le chemin par défaut, y compris tous les paramètres de la base de registre.
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
Pour fermer la boîte de dialogue de progression pour des opérations locales, s'il n'ya eu aucune erreur ni conflit, passez le paramètre /closeforlocal.
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. Additional options can be set: /startrev:xxx, /endrev:xxx, /strict enables the 'stop-on-copy' checkbox, /merge enables the 'include merged revisions' checkbox, /findstring:"filterstring" fills in the filter text, /findtext forces the filter to use text, not regex, or /findregex forces the filter to use regex, not simple text search, and /findtype:X with X being a number between 0 and 511. The numbers are the sum of the following options:
/outfile:chemin\vers\le\fichier is specified, the selected revisions are written to that file when the log dialog is closed. The revisions are written in the same format as is used to specify revisions in the merge dialog. |
| :checkout | Opens the checkout dialog. The /path specifies the target directory and the /url specifies the URL to checkout from. If you specify the key /blockpathadjustments, the automatic checkout path adjustments are blocked. The /revision:XXX specifies the revision to check out. |
| :import | Opens the import dialog. The /path specifies the directory with the data to import. You can also specify the /logmsg switch to pass a predefined log message to the import 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. |
| :update | Updates the working copy in /path to HEAD. If the option /rev is given then a dialog is shown to ask the user to which revision the update should go. To avoid the dialog specify a revision number /rev:1234. Other options are /nonrecursive, /ignoreexternals and /includeexternals. The /stickydepth indicates that the specified depth should be sticky, creating a sparse checkout. |
| :commit | Ouvre la boîte de dialogue de livraison. Le /path spécifie le répertoire cible ou la liste des fichiers à livrer. Vous pouvez aussi spécifier le commutateur /logmsg pour passer un commentaire prédéterminé à la boîte de dialogue de livraision. Ou, si vous ne voulez pas passer le commentaire via la ligne de commande, utilisez /logmsgfile:chemin, où chemin pointe sur un fichier contenant le commentaire. Pour préremplir le champ d'ID de bug (dans le cas où vous avez défini correctement la propriété d'intégration aux traqueurs de bug), vous pouvez utiliser le /bugid: "l'id du bug ici". |
| :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 | Cleans up interrupted or aborted operations and unlocks the working copy in /path. Use /noui to prevent the result dialog from popping up (either telling about the cleanup being finished or showing an error message). /noprogressui also disables the progress dialog. /nodlg disables showing the cleanup dialog where the user can choose what exactly should be done in the cleanup. The available actions can be specified with the options /cleanup for status cleanup, /revert, /delunversioned, /delignored, /refreshshell and /externals. |
| :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 dépôt dans /path |
| :switch | Ouvre la fenêtre Aller sur. Le /path spécifie le répertoire cible. |
| :export | Exporter la copie de travail dans /path dans un autre répertoire. Si le /path pointe vers un répertoire non versionné, une boîte de dialogue vous demandera une URL à l'exportation vers le répertoire dans /path . Si vous spécifiez la clé /blockpathadjustments , Les ajustements automatiques du chemin d'exportation sont bloquées. |
| :dropexport | Exports the working copy in /path to the directory specified in /droptarget. This exporting does not use the export dialog but executes directly. The option /overwrite specifies that existing files are overwritten without user confirmation, and the option /autorename specifies that if files already exist, the exported files get automatically renamed to avoid overwriting them. |
| :merge | Opens the merge dialog. The /path specifies the target directory. For merging a revision range, the following options are available: /fromurl:URL, /revrange:string. For merging two repository trees, the following options are available: /fromurl:URL, /tourl:URL, /fromrev:xxx and /torev:xxx. For doing a reintegrate merge, use the following options: /fromurl:URL and /reintegrate. These pre-fill the relevant fields in the merge dialog. |
| :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 | Starts the external diff program specified in the TortoiseSVN settings. The /path specifies the first file. If the option /path2 is set, then the diff program is started with those two files. If /path2 is omitted, then the diff is done between the file in /path and its BASE. To explicitly set the revision numbers use /startrev:xxx and /endrev:xxx, and for the optional peg revision use /pegrevision:xxx. If /blame is set and /path2 is not set, then the diff is done by first blaming the files with the given revisions. The parameter /line:xxx specifies the line to jump to when the diff is shown. |
| :showcompare |
Selon les URL et les versions à comparer, ceci affiche soit un contenu unifié des différences (si l'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 boîte de dialogue de vérification des modifications. Le /path indique le répertoire de la copie de travail. Si /remote est spécifié, la boite de dialogue contacte le dépôt directement au démarrage, au moment où l'utilisateur clique sur le bouton Vérifier le dépôt. |
| :repobrowser |
Starts the repository browser dialog, pointing to the URL of the working copy given in Une option additionnelle Si If |
| :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 Si cette option est renseignée Les 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 graphe de révision pour le chemin donné dans To create an image file of the revision graph for a specific path, but without showing the graph window, pass Since the revision graph has many options that affect how it is shown, you can also set the options to use when creating the output image file. Pass these options with |
| :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