Chapitre 5. Le programme SubWCRev

Table des matières

La ligne de commande SubWCRev
Substitution de mot-clés
Exemple de mot-clé
Interface COM

SubWCRev est un programme console Windows qui peut être utilisé pour lire le statut d'une copie de travail Subversion et exécuter facultativement la substitution de mots-clé dans un fichier modèle. C'est souvent utilisé comme une partie du processus de génération comme un moyen d'incorporer l'information de la copie de travail dans l'objet que vous générez. Typiquement cela pourrait être utilisé pour inclure le numéro de révision dans une boîte d'« À propos ».

La ligne de commande SubWCRev

SubWCRev reads the Subversion status of all files in a working copy, excluding externals by default. It records the highest commit revision number found, and the commit timestamp of that revision, it also records whether there are local modifications in the working copy, or mixed update revisions. The revision number, update revision range and modification status are displayed on stdout.

SubWCRev.exe est appelé de la ligne de commande ou d'un script et est contrôlé en utilisant les paramètres de ligne de commande.

SubWCRev CheminCopieTravail [VersionSrcFichier VersionDstFichier] [-nmdfe]

CheminCopieTravail est le chemin de la copie de travail étant vérifiée. Vous pouvez seulement utiliser SubWCRev sur les copies de travail, et pas directement sur le dépôt. Le chemin peut être absolu ou relatif au répertoire de travail courant.

Si vous voulez que SubWCRev exécute la substitution de mots-clé, pour que les champs comme la révision du dépôt et l'URL soient sauvegardées dans un fichier texte, vous devez fournir un fichier modèle FichierVersionSrc et un fichier de sortie FichierVersionDst qui contient la version substituée du modèle.

Un grand nombre d'options peuvent changer la manière dont SubZCRev fonctionne. Si vous en utilisez plus d'une, elles doivent etre spécifiées dans un même groupe, par exemple nm et non pas -n -m.

Tableau 5.1. Liste des commutateurs de ligne de commande disponibles

Aller sur...Description
-nSi ce commutateur est renseigné, SubWCRev se fermera avec ERRORLEVEL 7 si la copie de travail contient des modifications locales. Cela peut être utile pour empêcher une compilation incluant des changements non livrés.
-NIf this switch is given, SubWCRev will exit with ERRORLEVEL 11 if the working copy contains unversioned items that are not ignored.
-mSi ce commutateur est renseigné, SubWCRev se fermera avec ERRORLEVEL 8 si la copie de travail contient des révisions mélangées. Cela peut être utile pour empêcher la compilation d'une version partiellement mise à jour.
-dSi ce commutateur est donné, SubWCRev sortira avec ERRORLEVEL 9 si le fichier de destination existe déjà .
-fSi ce commutateur est donné, SubWCRev inclura la dernière révision changée des dossiers. Le comportement par défaut consiste à utiliser seulement les fichiers lors de l'obtenant des numéros de révision.
-eSi ce commutateur est donné, SubWCRev examinera les répertoires qui sont inclus avec svn:externals, mais seulement s'ils sont du même dépôt. Le comportement par défaut est d'ignorer les références externes.
-EIf this switch is given, same as -e, but it ignores the externals with explicit revisions, when the revision range inside of them is only the given explicit revision in the properties. So it doesn't lead to mixed revisions.
-xSi ce commutateur est donné, SubWCRev renverra les numéro de révision en héxadécimal.
-XSi ce commutateur est donné, SubWCRev renverra les numéros de révision en héxadécimal, préfixés de '0X'.
-qIf this switch is given, SubWCRev will perform the keyword substitution without showing working copy status on stdout.


S'il n'y a pas d'erreur, SubWCRev renvoie zéro. Mais dans le cas où une erreur survient, le message d'erreur est écrit sur la sortie d'erreur standard et affiché dans le console. Et les codes d'erreur renvoyés sont :

Tableau 5.2. Liste des codes d'erreur de SubWCRev

Code d'ErreurDescription
1Erreur de syntaxe. Une ou plusieurs commandes sont invalides.
2Le fichier ou le dossier spécifié dans le ligne de commande est introuvable.
3Le fichier source n'a pas pu être ouvert, ou le fichier cible n'a pas pu être créé.
4Impossible d'allouer la mémoire. Cela peut arrivé si, par exemple, le fichier source est trop gros.
5Le fichier source ne peut pas être scanné correctement.
6Erreur SVN : Subversion a renvoyé une erreur quand SubWCRev a essayé d'obtenir des informations de la copie de travail.
7The working copy has local modifications. This requires the -n switch.
8The working copy has mixed revisions. This requires the -m switch.
9The output file already exists. This requires the -d switch.
10Le chemin spécifié n'est pas une copie de travail ou n'appartient à aucune.
11The working copy has unversioned files or folders in it. This requires the -N switch.