Cómo mudar un repositorio SVN de Assembla a un VPS en Digital Ocean

En una entrada anterior configuramos un servidor de Subversion dentro de nuestro VPS con CentOS 6 para sistituir los servicios de Assembla. En esta entrada planteamos cómo mudar un repositorio de Assembla a nuestro servidor privado.

Paso 1. Crear el dump desde Assembla

El primer paso consiste en descargar el dump del repositorio, el cual es un archivo que contiene todo el historial y los mensajes de los cambios. Para ello es necesario acceder a la pestaña SVN del repositorio, y posteriormente seleccionar la pestaña Importar/Exportar (mencionado en la ayuda de Assembla).

En la figura 1 se muestra la pantalla de Assembla con la opción Importar/Exportar seleccionada, debajo de la pestaña SVN. Debido a que el repositorio ya tiene contenido, la opción de Importar aparece inhabilitada. Por otra parte, Exportar nos permite crear un nuevo archivo dump o descagar uno generado previamente.

Figura 1: Exportando repositorio de Assembla.

Figura 1: Exportando repositorio de Assembla.

Descargamos el archivo, cuyo nombre será con el formato {fecha en formato YYYY-MM-DD}-{nombre de repo}_r{última revisión}.gz. Para este caso, se generó el archivo 2014-09-07-sihaya_r21.gz, que es el archivo dump comprimido, mismo que hemos de utilizar para crear nuestro repositorio en nuestro VPS en Digital Ocean.

Paso 2. Copiar el archivo dump al servidor privado

El archivo dump obtenido de Assembla debe llegar, de alguna forma mística, al VPS. El método más sencillo es utilizar un cliente de FTP como FileZilla para realizar la transferencia. En caso de no tener FTP habilitado en el servidor, puedes consultar esta entrada.

Paso 3. Crear un nuevo repositorio vacío en el VPS

Ahora necesitamos crear un nuevo repositorio en nuestro servidor privado. Esto lo podemos hacer con las instrucciones que ya conocemos:

# "sihaya" corresponde al nombre del nuevo repositorio;
# "/var/svn", a la raíz donde residen los repos.
cd /var/svn
sudo svnadmin create sihaya
sudo chown -R apache:apache /sihaya

Paso 4. Descomprimir el archivo dump

Para descomprimir el archivo solamente hace falta ejecutar el siguiente comando:

gunzip /trayectoria/hacia/el/archivo/dump

Para nuestro ejemplo, es algo similar a:

gunzip /home/ktaris/2014-09-07-sihaya_r24.gz

Paso 5. Cargar el contenido del archivo dump en el repositorio

Finalmente, se carga el archivo dump en el nuevo repositorio con la siguiente instrucción:

sudo svnadmin load /trayectoria/del/repo < /trayectoria/al/archivo/dump

Para el ejemplo, sería:

sudo svnadmin load /var/svn/sihaya < /home/ktaris/2014-09-07-sihaya_r24

Y eso sería todo. Parte de la información fue obtenida de la entrada Subversion Backup and Restore, donde también se exponen métodos para crear respaldos automáticos mediante cron, y otros comentarios útiles.

Lo siguiente…

Hasta ahora, hemos logrado mantener los cambios del repositorio y poder tener el control de versiones. Sin embargo, ¿cómo sabemos qué fue cambiado en tal revisión? Cuando se quiera dar un paso atrás, ¿cómo sabemos qué se hizo dónde? Es necesario tener una interfaz gráfica para poder ver parte de la información que podíamos ver en Assembla. Para ello, en la siguiente entrada instalaremos y configuraremos WebSVN, un visualizador de repositorios en línea.



Deja un comentario