Pregunta

Por ejemplo, el cliente SVN 1.5 tiene un diseño para las copias de trabajo, y el 1,6 SVN cliente tiene un diseño diferente. Entiendo que la disposición se actualiza automáticamente cuando se tocó por un cliente nuevo.

Si tengo una copia de trabajo en mi sistema, ¿cómo puedo averiguar la versión de la disposición que está usando?

¿Fue útil?

Solución

Si existe .svn/format, a continuación, leer el número en él:

  • Version 7 es SVN 1.3
  • Version 8 es SVN 1.4
  • Versión 9 es SVN 1.5

Si no existe .svn/format entonces el número de versión está en la primera línea en .svn/entries:

  • Version 10 es SVN 1.6
  • Version 12 es SVN 1.7

Subversion 1.6 fue el primero en no utilizar .svn/format. Versión 7 y el archivo .svn/entries basado en XML utilizado mayores, las versiones más recientes utilizan el formato de archivo basado en línea de menos detallado.

Desde Subversion 1.7 el número de versión se almacena en la base de datos SQLite .svn/wc.db en el campo "user_version". Así que, aunque .svn/format se golpea a la versión 12 de la versión actual formato es 29 y las futuras versiones no se puede actualizar .svn/format más. Para obtener el número de versión de .svn/wc.db hay dos métodos:

  1. si ha sqlite3 en su camino, sqlite3 .svn/wc.db "PRAGMA user_version"
  2. Si usted no tiene sqlite3 en su camino, .svn/wc.db abierto en un editor hexadecimal y leer el valor DWORD en el desplazamiento 0x3c

Todos los números de versión de formato se describen en wc .h junto con los números de versión de los respectivos comunicados de Subversion.

Otros consejos

De la pregunta de desbordamiento de pila Averigüe SVN versión de copia de trabajo (1.7 o 1.8)

Uno puede usar sqlite3 .svn/wc.db "PRAGMA user_version" en SVN 1.7 o posterior (o od -An -j63 -N1 -t dC .svn/wc.db si sólo tiene la SQLite 3.0 bibliotecas , tu caso es distinto).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top