Usted está aquí:Inicio/MG Developers/Blog/Como mover un repositorio Subversion

Publicaciones recientes

Por Qué Elegirnos

  • Más de 400 proyectos puestos en producción durante los últimos 15 años demuestran el compromiso con nuestros clientes, certifican nuestra metodología y reflejan la capacidad de nuestro equipo de profesionales.

  • En MicroGestion existe un compromiso genuino con la calidad, la formación continua de nuestros profesionales y la mejora continua de nuestros procesos son la evidencia de dicho compromiso.

  • Creemos que los siguientes rasgos son esenciales para el ejercicio de nuestra actividad:

    » Entusiasmo, como requisito para llevar a cabo un proceso creativo.
    » Proactividad, como engranaje de la dinámica de grupos.
    » Responsabilidad, como condición fundamental para asumir compromisos en cada nivel de la empresa.
    » Trabajo en grupo, como mecánica de trabajo elegida para lograr sinergia.

    Asimismo nuestra capacidad de ejecución se fundamenta en el respeto de los siguiente valores:

    » Flexibilidad, necesaria para buscar el mejor camino en cada proyecto.
    » Compromiso, para formar equipos con conocimiento de dominio y orientación al logro.
    » Solvencia, que nos permite diseñar la mejora alternativa tecnológicas para cada solución.

  • En MicroGestion las personas son el factor más importante para el éxito de los proyectos; la conformación y gestión del capital humano se lleva a cabo teniendo en cuenta los siguientes lineamientos:

    » Determinando el conjunto correcto de personas para cada proyecto.
    » Desarrollando un ambiente donde existan oportunidades de aprendizaje.
    » Propiciando la confianza y el respeto dentro del equipo.
    » Permitiendo el desacuerdo y previendo una manera de resolverlo.
    » Preguntando, no inquiriendo.
    » Reconociendo los logros.

28 Ago

El siguiente tip permite mover un repositorio Subversion de un servidor a otro.

Nota: los comandos detallados en esta guía, salvo aclaración en contrario, se asumen ejecutados con la identidad de root.

Pasos iniciales

Repositorio de destino

Antes de comenzar con el procedimiento de migración se debe tener instalado el servidor Subversion donde estará alojado el repositorio destino.

Con el servidor instalado se deberá crear y configurar el repositorio destino.

Deshabilitar acceso al servidor Subversion de origen

Luego de contar con el repositorio de destino creado y configurado, se debe deshabilitar el acceso al repositorio de origen. De esta forma se evitará que los desarrolladores sigan incorporando cambios al repositorio durante el proceso de migración.

Determinar el número de revisión actual y los últimos archivos modificados

Antes de exportar el repositorio conviene conocer cual es el último número de revisión y los últimos archivos modificados.

Con esta informción se podrá validar que finalizado el proceso ambos repositorios poseen la mismo información.

Pasos para mover el repositorio

Exportar el repositorio origen

Ejecutar el comando svnadmin dump para generar un archivo de volcado, en el mismo se almacenará la información de todas las revisiones del repositorio, por ejemplo:

# svnadmin dump /var/svn/repo001 > repo_001.svn_dump

Nota: el archivo resultante (ej: repo_001.svn_dump) se debe mover al servdor en el cual se encuentra el repositorio destino.

Importar el archivo de volcado en el repositorio destino

Para importar el repositorio se debe ejecutar el comando svnadmin load especificando el repositorio destino y el archivo de volcado, por ejemplo:

# svnadmin load --force-uuid /var/svn/repo001 < /tmp/svn_wds.svn_dump

Nota: el modificador --force-uuid permite que el repositorio destino mantenga los identificadores que se encontraban en el respositorio origen, de esta manera, los clientes no notarán la migración de los repositorios.

Al finalizar el proceso se debe verificar la importación de la última revisión:

------- Committed revision 6572 >>>

<<< Started new transaction, based on original revision 6573
     * editing path : branches/branches/branch_xx/PROYECTO.... done.
     * editing path : branches/branches/branch_xx/PROYECTO.... done.

------- Committed revision 6573 >>>

<<< Started new transaction, based on original revision 6574
     * editing path : branches/branches/branch_xx/PROYECTO.... done.
     * editing path : branches/branches/branch_xx/PROYECTO.... done.

------- Committed revision 6574 >>>

Ultimos pasos

Habilitar el acceso al respositorio destino

Una vez migrado el repositorio se debe habilitar el acceso al repositorio origen.

Si el servidor se accede mediante HTTP(S) es importante mantener las URL's del repositorio para evitar inconvenientes en los clientes.

Impacto en los clientes

Si luego de la migración la URL de acceso al repositorio no es la misma, ya sea por que hubo un cambio de host, de puerto, o del path de acceso, los clientes que hayan hecho un check-out deberán ejecutar el comando svn switch --relocate.

svn switch --relocate http://host_origen/svn/repo001 http://host_destino:81/svn/repo001 C:/_workspaces/PROYECTO

Si estamos trabajando en eclipse tendremos que utilizar la opción Relocate... desde la perspectiva SVN Repositories Explorer.

Eclipse - svn - Relocate

Referencias

Modificado por última vez en Lunes, 09 Septiembre 2013 04:14
Valora este artículo
(0 votos)
Diego Mendoza

Diego Mendoza se desempeña como arquitecto de software en MicroGestion participando en el proceso de análisis y diseño de soluciones que tengan requerimientos de alta disponibilidad, integración de ambientes heterogéneos, orientación a servicios, gestión de procesos de negocio, etc.

Sitio Web: www.microgestion.com/index.php/mg-developers/blog/author/988-diegomendoza
Deja un comentario

Asegúrate de llenar la información requerida marcada con (*). No está permitido el Código HTML. Tu dirección de correo NO será publicada.

Comuníquese con nosotros telefónicamente +54 011 4382-0878 o vía correo electrónico Esta dirección de correo electrónico está protegida contra spambots. Usted necesita tener Javascript activado para poder verla.