Domanda

Per esempio, il client SVN 1.5 ha un layout per copie di lavoro, e il 1.6 client SVN ha un layout diverso. Capisco che il layout viene automaticamente aggiornato quando viene toccata da un client più recente.

Se ho una copia di lavoro sul mio sistema, come posso scoprire la versione del layout che sta utilizzando?

È stato utile?

Soluzione

Se esiste .svn/format, quindi leggere il numero in esso:

  • La versione 7 è SVN 1.3
  • Versione 8 è SVN 1.4
  • Versione 9 è SVN 1.5

Se .svn/format non esiste, allora il numero di versione è sulla prima riga in .svn/entries:

  • La versione 10 è SVN 1.6
  • Versione 12 è SVN 1,7

Subversion 1.6 è stato il primo a non utilizzare .svn/format. Versione 7 anni e più file di .svn/entries basato su XML utilizzato, le versioni più recenti utilizzano il formato di file linea a base di meno prolisso.

Dato che Subversion 1.7 il numero di versione è memorizzato nel database SQLite .svn/wc.db nel campo "user_version". Così, anche se .svn/format viene urtato alla versione 12 alla versione attuale formato è 29 e le versioni future non può aggiornare più .svn/format. Per ottenere il numero di versione da .svn/wc.db ci sono due metodi:

  1. se hai sqlite3 nel percorso, sqlite3 .svn/wc.db "PRAGMA user_version"
  2. Se non si dispone di sqlite3 nel percorso, .svn/wc.db aperto in un editor esadecimale e leggere la DWORD all'offset 0x3C

Tutti i numeri di versione formato sono descritti in wc .h insieme con i numeri di versione dei rispettivi rilasci Subversion.

Altri suggerimenti

Da Stack Overflow domanda Scopri SVN versione copia di lavoro (1.7 o 1.8) :

Si può usare sqlite3 .svn/wc.db "PRAGMA user_version" su SVN 1.7 o successiva (o od -An -j63 -N1 -t dC .svn/wc.db se hai solo il SQLite 3.0 biblioteche , YMMV).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top