Migrar los repositorios svn a otro servidor

Ya sé que lo que más mola ahora es Git, pero de momento en Dabne seguimos manteniendo nuestros repositorios de código en Subversion, mientras vamos trasteando con Git y valorando si cambiar del todo o seguir con un híbrido de svn + git.

El caso es que esta semana he tenido que mover los repos a un nuevo servidor y así es cómo lo he hecho.

En el servidor donde están los repos hay que hacer un 'dump' de cada uno de ellos, copiarlos al servidor 2, y cargarlos en un repo nuevo recién creadito.

Sería así:

serv1$ svnadmin dump nombre_repo > nombre_repo.dump

Se copian los ficheros .dump al servidor 2 y se hace:

serv2$ svnadmin create nombre_repo
serv2$ svnadmin load nombre_repo < nombre_repo.dump

Como tenía varios he probado a hacerlo con un scriptcillo en ruby directamente desde la línea de comandos:

serv1$ ruby -e "Dir.foreach('.'){|x| system \"svnadmin dump #{x} > #{x}.dump\"}"

serv2$ ruby -e "Dir.glob('*.dump'){|x| system \"svnadmin create #{x.split('.')[0]} \"}"
serv2$ ruby -e "Dir.glob('*.dump'){|x| system \"svnadmin load #{x.split('.')[0]} < #{x} \"}"

Si la url del repositorio cambia luego en cada copia de trabajo hay que ejecutar:

$ svn switch —relocate url_antigua url_nueva

Cuidado con lo que va delante de relocate que son dos -, no uno de esos largos.

Esta vez he configurado el acceso a los repositorios con apache2 por https, pero eso queda para otro post.

Hierarchy: previous, next

Comments

There are 3 comments on this post. Post yours →

Pues mira, justo esta semana tenía que migrar un repositorio: este post me viene que ni pintado! :)

Por cierto, que yo aún no le veo del todo la gracia a usar git para proyectos que usen un repositorio único. A la mezcla git-svn sí le veo ventajas para hacer commits locales y todo eso...

GIT mola para cosas open source básicamente por github.com ... pero yo para mis proyectos para clientes sigo tirando de subversion... básicamente porque en dreamhost me los monto con un click :)

Conclusión: que valoro mucho la infraestructura que me ofrecen github y dreamhost... el dia que dreamhost ofrezca repositorios git tan fácil como subversion supongo que me cambiaré a git pq mola más, pero la principal razón para mi ahora mismo es la sencillez a la hora de montar el repositorio.

@Raúl Después de darle vueltas más, creo que tienes razón y para proyectos con un único repo es menos lío seguir con subversion. Luego si ya cada una en local quiere usar git/git-svn pues adelante.

@Jaime Por facilidad, también prefiero subversion, que ya sé como montar el servidor los repos y todo eso. Para montarme un servidor de git tendría que ponerme de nuevo.

Conclusión, que seguiremos con subversion, que hasta ahora se ha portado muy bien y ya le tenemos pillado el tranquillo. Y para git pues a practicar con proyectos en github y compañía.

Post a comment

Required fields in bold.






Markdown syntax enabled (no html). See the syntax rules for help.