Mover un repositorio de subversion a otro servidor no es realmente difícil, sólo hay que seguir los pasos que indicamos en este artículo, para asegurar que los clientes siguen teniendo acceso al repositorio en su nueva ubicación.
1. Hacer un volcado del repositorio
En primer lugar, utilizamos el comando svnadmin para realizar una copia de seguridad del repositorio:
1 2 3 |
$ svnadmin dump /path/to/repo > reponame.dump |
Opcinalmente, podemos comprimir el fichero que contiene el volcado. Después, copiamos el fichero al nuevo servidor por cualquier procedimiento: ftp, scp, rsync,…
2. crear y cargar el repositorio en su nueva ubicación
En el servidor de destino, creamos un nuevo repositorio, y lo cargamos con la copia de seguridad. Utilizamos la opción «–force-uuid» para que el nuevo repositorio se cree con el mismo uuid que el repositorio original, de modo que los clientes no tengan problemas en seguir utilizando el repositorio en su nueva localización:
1 2 3 4 |
nuevoservidor$ svnadmin create /path/to/new/repo nuevoservidor$ svnadmin load /path/to/new/repo --force-uuid < reponame.dump |
3. Indicar a los clientes la nueva ubicación del repositorio
Por último, en cada una de las «working copies», actualizamos la ubicación del repositorio.
Opcionalmente, con el comando «svn info» podemos comprobar primero la ubicación que estaba utilizando la working copy.
1 2 3 4 5 |
cliente$ cd proyecto cliente$ svn info | grep URL: URL: file:///path/to/old/repo/trunk |
después, con el comando «svn relocate» cambiamos la ubicación:
1 2 3 |
cliente$ svn relocate svn+ssh://usuario@www.nuevoservidor.com/path/to/new/repo/trunk |
( Para distintos clientes, podemos especificar distintos protocolos de conexión: file:, svn+ssh:, http:,… en función de las características de nuestra instalación ).
Y eso es todo!
Referencias
—