13 votes

Obtenir le numéro de révision actuel en ligne de commande via TortoiseSVN

J'essaie d'écrire un fichier batch dans lequel j'ai besoin de la révision HEAD du projet sur lequel je travaille.

Existe-t-il une commande pour obtenir cela à partir de la ligne de commande ?

Je suis sur une machine Windows XP.

EDIT J'ai fini par utiliser un mélange entre Shambulator, mizipzor, et les réponses de Stefan. Je me suis retrouvé avec ça :

for /f "tokens=5" %%i in ('SubWCRev WorkingCopyPath^|find "Last committed at revision"') do set version=%%i 
echo %version%

Merci pour votre aide.

J'ai également ajouté cette réponse à la liste ci-dessous.

27voto

shambulator Points 3765

C'est gênant sans les capacités de traitement de texte de *nix, mais ce fichier batch le fait :

@echo off
for /f "tokens=2" %%i in ('svn info -rHEAD svn://localhost^|find "Revision"') do @echo %%i

Remplacez mon dépôt svn par votre dépôt svn. svn://localhost .

svn info récupère les informations sur le référentiel, puis les transmet à find qui supprime tout sauf la ligne contenant le numéro de révision. Le site for vous donne le deuxième "jeton" sur cette ligne (le premier est Revision: ).

EDIT : Comme d'autres l'ont déjà mentionné, vous aurez besoin d'une version en ligne de commande de Subversion installée, et d'avoir svn.exe sur votre PATH .

4voto

Stefan Points 29091

Si vous avez besoin de cette révision dans un fichier, utilisez SubWCRev qui est installé avec TortoiseSVN (ou disponible séparément ).

3voto

Nedloh Points 116

J'ai fini par utiliser un mélange entre Shambulator, mizipzor, et les réponses de Stefan. Je me suis retrouvé avec ça :

for /f "tokens=5" %%i in ('SubWCRev WorkingCopyPath^|find "Last committed at revision"') do set version=%%i  
echo %version% 

Merci pour votre aide.

1voto

John Pickup Points 21

TortoiseSVN ne vous donne pas d'interface de ligne de commande car c'est juste une extension shell.

Cependant, si vous installez les outils de la ligne de commande svn, la commande suivante vous donnera les détails de l'URL SVN :

svn info [SVN-URL]

pour extraire la révision, vous pouvez utiliser ceci :

svn info [SVN-URL] | grep Revision | awk '{print $2}'

(en supposant que vous avez installé des outils UNIX, par exemple cygwin)

1voto

Mizipzor Points 10952

Les réponses actuelles indiquent comment imprimer la révision actuelle sur le dépôt central svn. Si vous êtes intéressé par le révision locale en cours de vérification J'ai trouvé cet article de blog qui fait quelque chose d'assez similaire à ce qui est fait dans le programme Réponse de Shambulator :

@echo off
FOR /F "tokens=2 skip=4" %%G IN ('svn info --revision HEAD') DO ^
IF NOT DEFINED REVISION SET REVISION=%%G
echo %REVISION%

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X