Obtenir le numéro de révision d'un référentiel distant
Question
Sur l'ordinateur local, le numéro de révision d'un référentiel de sous-version ne contient pas de problème avec svnversion
. Je souhaite maintenant obtenir le numéro de révision de mon référentiel en ligne (WebDAV avec Apache2).
J'ai essayé ceci:
svnversion http://nick:password@www.myhost.de/svn/test`
Dans un navigateur, cela fonctionnait normalement (pour s’assurer qu’il n’y avait pas de fautes de frappe), mais svnversion
indiquait que le répertoire était introuvable. Je suppose donc que je me suis trompé de chemin.
Comment puis-je obtenir le numéro de révision?
La solution
svnversion est uniquement destiné aux copies de travail, mais constitue un moyen d'interroger votre référentiel serait d'utiliser info svn comme suit:
svn info http://nick:password@www.myhost.de/svn | grep Revision
Autres conseils
Sous Linux, si vous voulez seulement le numéro de révision:
svn info http: // pseudo: password@www.myhost.de/svn/ test | grep '^ Révision:' | awk '{print $ 2}'
svn info http://nick:password@www.myhost.de/svn/test
doit renvoyer des informations sur le référentiel distant, y compris la révision
Un one-liner AWK pratique pour obtenir uniquement la partie numérotée:
svn info http://nick:password@www.myhost.de/svn | awk '/Revision:/ { print $2 }'
Sur la nouvelle version de svn (1.9), vous pouvez faire:
svn info --show-item revision svn://...
18436
Ceci devrait renvoyer uniquement le numéro de révision.
Toute la version de grep se cassera si vos paramètres régionaux ne sont pas anglais.
Pour la version précédente, vous pouvez essayer
svn info --xml | grep '<entry' -3 | awk -F '=' '/revision="/ { print $2 }' | grep -o '[0-9]\+'
Si vous pouvez utiliser le package xml2, le meilleur moyen consiste à le faire:
svn info --xml | xml2 | grep /info/entry/@revision | grep -o '[0-9]\+'