Domanda

Ho un server SVN sulla nostra lan localmente la sua sulle finestre. Gli sviluppatori utilizzano e il check in / out da questo. Giusto per essere sul lato più sicuro che abbiamo preso su un server da Rackspace uno Linux. E 'possibile fare una sincronizzazione automatica settimanale dal server svn locale a quello remoto. L'uno a distanza sarà utilizzato principalmente come un backup remoto, ma solo nel caso in cui se qualcuno vuole accedere poi si può fare in quanto non v'è alcun indirizzo IP statico o esterna per la nostra LAN.

È stato utile?

Soluzione

Vorrei suggerire di utilizzare per svnsync per questo. Quando attivato dal post-commit hook, questo strumento (parte della distribuzione svn) permette una sincronizzazione in tempo reale tra 2 (o più) server svn.

Altri suggerimenti

Fino a quando il server di backup viene utilizzata in sola lettura, qualcosa di fondamentale come rsync dovrebbe funzionare. Ma si potrebbe desiderare di implementare un ciclo di tentativi che continua la sincronizzazione fino a quando non c'è nulla da sincronizzare, in modo che non si sincronizza uno stato esattamente mentre qualcuno sta commettendo qualcosa.

Se avete bisogno di lettura / scrittura su entrambi i siti, potrebbe essere più sicuro e più facile da usare qualcosa come git e l'uso git-svn sul lato client come "compatibilità all'indietro".

Un'altra opzione è quella di utilizzare SVK , un sistema di controllo di versione distribuito costruito su di SVK . Ma che sarà anche non essere completamente trasparente per i clienti.

È possibile utilizzare svnadmin discarica per scaricare un intero repository. È possibile utilizzare un gancio postcommit insieme con lo stesso comando per eseguire il dump dei impegnarsi in un formato standalone che può essere successivamente riapplicato

La combinazione di questi e rsync è possibile replicare in modo efficace il server su qualsiasi altro server. A patto che il server di backup è accessibile solo in sola lettura può essere utilizzato. In caso di guasto, uno switch svn semplice permetterà ai vostri sviluppatori di utilizzare il server di backup.

Consiglierei ACL di impostazione per vietare iscritto al server di backup a meno che non diventa padrone.

Un'altra soluzione come menzionati da Peter potrebbe essere SVK, ma che non può essere utilizzato per una sincronizzazione automatica completa: cosa succede se ci sono modifiche in conflitto apportate su entrambi i server? lo script fallirà o storpiare questo. Qualcosa di simile si fondono distribuito deve essere rivista da un essere umano.

Ancora un'altra soluzione sarebbe il modo --mirror svn

Si dovrebbe cercare di leggere questo per informazioni più dettagliate su come mantenere pronti contro termine in sincronia: Come sincronizzare due repository Subversion :?)

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