Archivo de la etiqueta: CVS

Migrar CVS a SVN

Hoy tuve que realizar una migración de servidores en la cual existía un viejo repositorio en CVS. La mejor opción fue aprovechar esta migración e instalar SVN, pero sin perder los logs de CVS.

¿Cómo hacerlo?

Primero de todo realizar un backup del repositorio CVS:

tar cvzf RepositorioCVS.tgz rutaRepositorioCVS

Llevarlo al nuevo servidor usando SSH:

scp RepositorioCVS.tgz user@host:/rutaRepositorios/

Conectarse al nuevo Servidor:

ssh host -l user
cd /rutaRepositorios/

Descomprimir el archivo del CVS creado:

tar -zxpf RepositorioCVS.tgz

(!) Tener en cuenta el parámetro p, ya que preservará los permisos de archivo.

Luego, instalar el cvs2svn en el nuevo servidor (debemos tener instalado previamente subversion y CVS):

wget http://cvs2svn.tigris.org/files/documents/1462/46528/cvs2svn-2.3.0.tar.gz
tar xvzf cvs2svn-2.3.0.tar.gz
cd cvs2svn-2.3.0.tar.gz
make install

Ahora sí, la exportación CVS a SVN:

cvs2svn -s /rutaRepositorios/nombreRepoSVN /rutaRepositorios/RepositorioCVS

Parámetros útiles:

--encoding latin_1 (Otros valores posibles en la lista de encodings standards de Python)
--existing-svnrepos (Si el repositorio SVN ya fue creado  en el nuevo servidor)
--trunk-only