Tecnología

Inicio

Cómo sincronizar los repositorios de Subversion

usuarios de Subversion pueden sentir la necesidad de crear múltiples espejos de un depósito de la subversión maestro para que los miembros en diferentes ubicaciones geográficas para acceder a las copias del código actual rápidamente. La sincronización de los repositorios de esta manera también los protege en caso de un fallo técnico en un servidor. Para facilitar la sincronización, Subversion proporciona la función "svnsync".

Instrucciones

1 Abrir un Terminal.

2 Crear un nuevo repositorio de Subversion escribiendo:

repository_mirror mkdir

svnadmin crear repository_mirror

cd respository_mirror

Esto mantendrá la copia duplicada de su repositorio de subversión.

3 Escriba lo siguiente para editar el archivo de configuración svnserve.conf:

conf nano / svnserve.conf

Retire las "#" de la línea que dice:

password-db = passwd

Cerrar nano.

4 Escribe lo siguiente para editar el archivo "passwd":

conf nano / passwd

Pega el siguiente texto debajo de la línea "[usuarios]":

svnsync = secreta

Cambiar la contraseña secreta a la que le gustaría svnsync utilizar cuando se sincroniza sus repositorios. Guarde su trabajo y cierre nano.

5 Escriba lo siguiente para editar un nuevo documento que contiene una secuencia de comandos que necesita el programa de svnsync:

ganchos nano / pre-revprop-cambio

Pega el siguiente en él:

! / Bin / sh

USUARIO = "$ 3"

if [ "$ USER" = "svnsync"]; a continuación, salga 0; fi

echo "Sólo el usuario puede cambiar svnsync revprops"> & 2

la salida 1

Guarde su trabajo, cerca de nano y escriba lo siguiente para que sea un script ejecutable:

chmod + x ganchos / pre-revprop-cambio

6 Inicializar la sincronización escribiendo el comando siguiente:

svnsync archivo de inicio: SVN /// AGENDA / respository_mirror: //SOURCE.COM/source_repos

Vuelva a colocar el "directorio" con el directorio en el que ha creado el espejo repositorio y reemplazar a los "SOURCE.COM/source_repos" con el nombre del servidor y el nombre del repositorio para su espejo.

7 Iniciar el proceso de sincronización:

svnsync sincronización --username svnsync file: /// AGENDA / respository_mirror

Una vez más, vuelva a colocar el nombre del archivo y la ruta de acceso con los que utilizan en su sistema para el espejo.

Consejos y advertencias

  • Agregue la siguiente línea al archivo "/ etc / crontab" para programar una actualización de su espejo cada minuto:
  • * * * * * / Usr / local / bin --non-interactiva de sincronización de archivos / svnsync: /// AGENDA / respository_mirror
  • Los usuarios nunca deben confirmar los cambios en el propio repositorio espejo. Todos los cambios deben estar comprometidos con el repositorio de código fuente y se deja que se propagan a los espejos utilizando la herramienta svnsync.