Ottieni il numero di revisione di un repository remoto
Domanda
Sul computer locale non è un problema ottenere il numero di revisione di un repository di sovversione con svnversion
. Ora voglio ottenere il numero di revisione dal mio repository online (WebDAV con Apache2).
Ho provato questo:
svnversion http://nick:password@www.myhost.de/svn/test`
In un browser ha funzionato come al solito (solo per assicurarsi che non ci fossero errori di battitura o simili), ma svnversion
ha affermato che la directory non è stata trovata. Quindi presumo di essere sulla strada sbagliata.
Come posso ottenere il numero di revisione?
Soluzione
svnversion è solo per copie funzionanti, ma un modo per interrogare il tuo repository dovrebbe usare svn info come segue:
svn info http://nick:password@www.myhost.de/svn | grep Revision
Altri suggerimenti
Su Linux, se si desidera solo il numero di revisione:
svn info http: // nick: password@www.myhost.de/svn/ test | grep '^ Revisione:' | awk '{print $ 2}'
svn info http://nick:password@www.myhost.de/svn/test
dovrebbe restituire informazioni sul repository remoto, inclusa Revision
Una pratica riga singola di AWK per ottenere solo la parte numerica:
svn info http://nick:password@www.myhost.de/svn | awk '/Revision:/ { print $2 }'
Sulla nuova versione di svn (1.9) puoi fare:
svn info --show-item revision svn://...
18436
Questo dovrebbe restituire solo il numero di revisione.
Tutta la versione di grep si interromperà se la tua lingua non è inglese.
Per la versione precedente, puoi provare
svn info --xml | grep '<entry' -3 | awk -F '=' '/revision="/ { print $2 }' | grep -o '[0-9]\+'
Se puoi avere il pacchetto xml2 un modo migliore è fare:
svn info --xml | xml2 | grep /info/entry/@revision | grep -o '[0-9]\+'