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
