Export - Import repositorio SVN

Tras la necesidad de cambiar de servidor de SVN, de una manera "transparente" para los usuarios, he tenido que exportar todo un repositorio con su info e importarlo en otro.

La forma fué la siguiente:

En el servidor SVN donde tenía que hacer el export, lancé el siguiente comando:


svnadmin dump /usr/local/svn/repositories/mirepositorio> /tmp/dump_svn_mirepositorio

Copiamos el fichero "/tmp/dump_svn_mirepositorio" al otro servidor y lo importamos. En el servidor donde realizaremos el import:


svnadmin --force-uuid load /usr/local/svn/repositories/mirepositorio< /tmp/dump_svn_mirepositorio

De esta forma ya tenemos todo el repo "clonado" en el nuevo servidor.

De manera adicional, se puede añadir al crontab algo paraceido a esto:


#BACKUP SVN mirepositorio REPO
15 01 * * * /usr/local/svn/repositories/backups/backup_SVN.sh

El script contendrá algo parecido a:


#!/bin/bash

svnadmin dump /usr/local/svn/repositories/mirepositorio > /usr/local/svn/repositories/backups/dmp_svn_mirepositorio_`date +%d`.dump
gzip -f /usr/local/svn/repositories/backups/dmp_svn_mirepositorio_`date +%d`.dump

De esta forma guardaremos backups diarios con una ventana de un mes.