Come sincronizzare Subversion Repositories

January 27

gli utenti Subversion possono sentire il bisogno di creare più specchi di un repository Subversion maestro per consentire ai membri in diverse località geografiche per accedere copie del codice corrente rapidamente. Sincronizzazione repository in questo modo li protegge anche in caso di guasto tecnico su un server. Per facilitare la sincronizzazione, Subversion fornisce lo strumento "svnsync".

istruzione

1 Aprire un terminale.

2 Creare un nuovo repository Subversion digitando:

mkdir repository_mirror

svnadmin creare repository_mirror

cd respository_mirror

Questo terrà la copia speculare del repository subversion.

3 Digitare quanto segue per modificare il file di configurazione svnserve.conf:

nano conf / svnserve.conf

Rimuovere le "#" dalla riga che recita:

Password-db = passwd

Chiudi nano.

4 Digitare quanto segue per modificare il file "passwd":

nano conf / passwd

Incollare il seguente testo sotto la linea "[gli utenti]":

svnsync = segreto

Cambiare segreto per la password che si desidera svnsync da usare quando si sincronizza i repository. Salvare il lavoro e vicino nano.

5 Digitare la seguente per modificare un nuovo documento contenente uno script necessari dal programma svnsync:

ganci nano / pre-revprop-change

Incollare il seguente in esso:

! / Bin / sh

USER = "$ 3"

if [ "$ USER" = "svnsync"]; quindi uscire 0; fi

echo "Solo l'utente può cambiare svnsync revprops"> & 2

exit 1

Salvare il lavoro, chiudere nano e digitare la seguente per renderlo uno script eseguibile:

chmod + x ganci / pre-revprop-change

6 Inizializzare la sincronizzazione digitando il seguente comando:

svnsync file di inizializzazione: /// RUBRICA / respository_mirror svn: //SOURCE.COM/source_repos

Sostituire la "directory" con la directory in cui è stato creato il specchio repository e sostituire la "SOURCE.COM/source_repos" con il nome del server e il nome del repository per il tuo specchio.

7 Avviare il processo di sincronizzazione:

svnsync sincronizzazione --username svnsync file: /// RUBRICA / respository_mirror

Ancora una volta, sostituire il nome del file e il percorso con quelle utilizzate sul sistema per lo specchio.

Consigli e avvertenze

  • Aggiungere la seguente riga al file "/ etc / crontab" per programmare un aggiornamento del tuo specchio ogni minuto:
  • * * * * * / Usr / local / bin / svnsync --non-interactive sincronizzazione di file: /// RUBRICA / respository_mirror
  • Gli utenti non dovrebbero mai commettere modifiche al repository specchio stesso. Tutte le modifiche devono essere impegnati a repository di origine e ha permesso di propagarsi verso gli specchi utilizzando lo strumento svnsync.