Nom

svnversion — Produire un numéro de révision compact pour la copie de travail.

Synopsis

svnversion [OPTIONS] [CT_CHEMIN [FIN_URL]]

Description

svnversion est un programme qui produit un numéro de révision (ou un intervalle) à partir des révisions utilisées et des modifications effectuées sur la copie de travail. Le numéro de révision, ou l'intervalle, produit est écrit sur la sortie standard.

Il est d'usage d'utiliser ce résultat dans la chaîne de compilation pour définir le numéro de version d'un programme.

FIN_URL, si elle est spécifiée, est la partie de la fin de l'URL à utiliser pour déterminer si CT_CHEMIN a été ré-aiguillé (normalement, la détection de ré-aiguillage pour CT_CHEMIN ne prend pas en compte FIN_URL).

Quand CT_CHEMIN n'est pas spécifié, le répertoire courant est utilisé. FIN_URL ne peut pas être spécifiée si CT_CHEMIN ne l'est pas.

Options

De même que pour svnserve, svnversion n'a pas de sous-commande, seulement des options :

--no-newline (-n)

Pas de fin de ligne habituel en fin d'affichage.

--committed (-c)

Utilise la dernière révision propagée plutôt que les révisions courantes (c'est-à-dire les plus récentes disponibles localement).

--help (-h)

Affiche l'aide du programme.

--version

Affiche la version de svnversion et termine sans erreur.

Exemples

Si la copie de travail est issue d'une unique révision (par exemple, immédiatement après une mise à jour par svn update), alors le numéro de révision correspondant est affiché :

$ svnversion
4168

Vous pouvez ajouter FIN_URL pour être sûr que la copie de travail n'a pas été ré-aiguillée ailleurs que ce que vous pensez. Notez que CT_CHEMIN est indispensable dans ce cas :

$ svnversion . /var/svn/trunk
4168

Pour une copie de travail qui utilise des révisions multiples, l'intervalle des révisions utilisées localement est affiché :

$ svnversion
4123:4168

Si la copie de travail contient des modifications locales, un "M" est ajouté à la fin :

$ svnversion
4168M

Si la copie de travail a été re-aiguillée (avec la sous-commande svn switch), un "S" (pour switched) est ajouté à la fin :

$ svnversion
4168S

Ainsi, voici le résultat pour une copie de travail issues de plusieurs révisions, re-aiguillée et qui contient des modifications locales :

$ svnversion
4212:4168MS

Si la commande svnversion est invoquée sur un répertoire qui n'est pas une copie de travail, elle considère que c'est un export d'une copie de travail et affiche "exporté" :

$ svnversion
exporté