Svn - ottenere l'elenco di tutti i pronti contro termine su un server in modo che posso svnsync
Domanda
Sto cercando di creare un backup del repository SVN già esistenti del mio cliente, che è a disposizione del pubblico su HTTP.
Se possibile, mi piacerebbe essere in grado di fare automaticamente i nuovi repository, da qualsiasi computer, senza dover dare accesso alla console al server per soggetti esterni (vale a dire gli utenti potevano fare un ls
sul mio svn repo dir)
Il mio problema è che ho bisogno di conoscere la lista dei repository svn sul server -. Non è un elenco fisso, in quanto l'utente aggiungerà nuovi repository nel tempo
Sono in grado di elencare i repository in una pagina HTML tramite modulo mod_dav_svn
di Apache, usando la direttiva SVNListParentPath On
. Ho avuto questa pagina: http://svn.ohwr.org/
La mia domanda è: qual è il modo più semplice per ottenere un elenco utile di tali depositi? Ho bisogno di analizzare tale elenco al fine di rendere le sincronizzazioni, probabilmente utilizzando i comandi di shell.
devo analizzare il codice HTML con comandi di shell, o c'è un modo migliore per ottenere quella lista?
Soluzione
Ho finito per creare la mia soluzione.
Ho istituito una task cron che fa un ls sulla cartella svn e reindirizza l'output in un file a disposizione del pubblico sul server. Questo file non ha Tag HTML, si tratta di un file di testo con solo i nomi dei repository.
In questo modo, i clienti possono wget quel file e iterare sui nomi repository abbastanza facilmente.
Non sto molto soddisfatto di questa implementazione; mentre funziona, la sua un po ' "hacky". Preferisco utilizzare qualcosa fornito da SVN o Apache stessi.
Se qualcuno messaggi una soluzione migliore, io accetto. Nel frattempo, questo è il mio miglior risposta possibile.