2009-03-08 14 views
9

En la máquina local, no es un 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).Obtenga el número de revisión de un repositorio remoto

yo probamos este:

svnversion http://nick:[email protected]/svn/test` 

En un navegador funcionó como de costumbre (sólo para asegurarse de que no había errores tipográficos o algo así), pero svnversion dijo que el directorio no se puede encontrar. Así que supongo que estaba en el camino equivocado.

¿Cómo puedo obtener el número de revisión?

Respuesta

21

svnversion es sólo para copias de trabajo, pero una forma de consultar su repositorio sería utilizar svn info de la siguiente manera:

svn info http://nick:[email protected]/svn | grep Revision 
6
svn info http://nick:[email protected]/svn/test 

debe devolver información sobre el repositorio remoto, incluida la revisión

5

Un práctico AWK de una sola línea para obtener sólo la parte del número:

svn info http://nick:[email protected]/svn | awk '/Revision:/ { print $2 }' 
3

En la nueva versión del SVN (1.9) que 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 inglés.

Para la versión anterior, puede intentar

svn info --xml | grep '<entry' -3 | awk -F '=' '/revision="/ { print $2 }' | grep -o '[0-9]\+' 

Si usted puede tener el paquete xml2 una mejor manera de hacerlo es:

svn info --xml | xml2 | grep /info/entry/@revision | grep -o '[0-9]\+' 
+0

la versión XML trabajó para mí en el entorno local francés. – davestevens

+0

Las versiones grep y awk pierden el acento en Révision. – davestevens

Cuestiones relacionadas