Obtener el número de revisión de un repositorio remoto
Pregunta
En la máquina local no es problema obtener el número de revisión de un repositorio de subversión con svnversion
. Ahora quiero obtener el número de revisión de mi repositorio en línea (WebDAV con Apache2).
Intenté esto:
svnversion http://nick:password@www.myhost.de/svn/test`
En un navegador funcionó como de costumbre (solo para asegurarse de que no haya errores tipográficos), pero svnversion
dijo que no se puede encontrar el directorio. Así que supongo que estaba en el camino equivocado.
¿Cómo puedo obtener el número de revisión?
Solución
svnversion es solo para copias de trabajo, pero es una forma de consultar su repositorio sería utilizar svn info como sigue:
svn info http://nick:password@www.myhost.de/svn | grep Revision
Otros consejos
En Linux, si solo desea el número de revisión:
svn info http: // nick: password@www.myhost.de/svn/ prueba | grep '^ Revisión:' | awk '{print $ 2}'
svn info http://nick:password@www.myhost.de/svn/test
debe devolver información sobre el repositorio remoto, incluida la Revisión
Un práctico AWK one-liner para obtener solo la parte del número:
svn info http://nick:password@www.myhost.de/svn | awk '/Revision:/ { print $2 }'
En la nueva versión de svn (1.9) puede hacer:
svn info --show-item revision svn://...
18436
Esto debería devolver solo el número de revisión.
Toda la versión grep se romperá si su configuración regional no es en inglés.
Para la versión anterior, puedes probar
svn info --xml | grep '<entry' -3 | awk -F '=' '/revision="/ { print $2 }' | grep -o '[0-9]\+'
Si puede tener el paquete xml2, una mejor manera es hacerlo:
svn info --xml | xml2 | grep /info/entry/@revision | grep -o '[0-9]\+'