2009-03-08 7 views
9

Sul computer locale non è un problema ottenere il numero di revisione di un repository di subversion con svnversion. Ora voglio ottenere il numero di revisione dal mio repository online (WebDAV con Apache2).Ottieni il numero di revisione di un repository remoto

ho provato questo:

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

In un browser ha funzionato come al solito (solo per garantire non ci sono stati errori di battitura o giù di lì), ma svnversion ha detto che la directory non può essere trovato. Quindi presumo di essere sulla strada sbagliata.

Come posso ottenere il numero di revisione?

risposta

21

svnversion è solo per le copie di lavoro, ma un modo per interrogare il repository sarebbe quella di utilizzare svn info come segue:

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

dovrebbe restituire le informazioni sul repository remoto, compresa la revisione

5

Una comoda AWK one-liner per ottenere solo la parte numerica:

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

Sulla nuova versione di svn (1.9) si può fare:

svn info --show-item revision svn://... 
18436 

Questo dovrebbe restituire solo il numero di revisione.

Tutte le versioni di grep si interromperanno se il locale non è inglese.

Per la versione precedente, è possibile provare

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

Se si può avere il pacchetto xml2 un modo migliore è quello di fare:

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

la versione XML ha lavorato per me in locale francese. – davestevens

+0

Le versioni di grep e awk mancano l'accento in Révision. – davestevens