Técnicas de Branching y Merging SVN en Eclipse

13/04/2011

Para que el tema de los merges del SVN funcione bien, se supone que la forma de trabajo sería la siguiente:

Creación de una nueva rama de código:

  • Todas las ramas (branchs) se deberían crear a partir de una rama principal (trunk)
  • A la hora de crear un branch se “aconseja” poner como comentario:
    Branch from trunk rev:28495
    donde Branch es el nombre de la rama y 28495 es la revisión de partida del trunk de la que se crea la rama

Mezcla de nuevos cambios del trunk al branch:

  • Actualiza tu copia de trabajo a la última versión del branch
  • Averigua el número de revisión del último merge (si todavía no se hizo ninguno, el número de revisión de creación, que, si sigues las indicaciones deberías tener en alguno de los comentarios)
  • Utiliza la herramienta de merge de subclipse para mezclar el trunk en tu copia de trabajo (Team -> Merge)
    • Las URL‘s que aparecen en “From” y en “To” deberían ser las del trunk
    • La revisión del “From” debería ser el número de revisión del último merge
    • La revisión del “To” debería ser “Head
    • Pulsa en el botón Merge y espera a que termine
    • En la consola se muestra un log del proceso realizado. Si aparece algún conflicto (marcado con una C roja, lo que hay que hacer es localizar dichos ficheros en el navegador de archivos, botón derecho y pulsar en Team -> Edit Conflicts, lo que abrirá un nuevo editor con dos paneles con una versión en cada lado. Se resolverán los conflictos (como se realiza normalmente al subir cambios al SVN) y, una vez corregidos, se vuelve al navegador de archivos, sobre el mismo y se pulsa Team -> Mark as Resolved.
  • Probar todo una vez mezclado🙂
  • Subir los cambios de la mezcla a la rama y poner como comentario:
    Merged trunk changes 28495-29536 into branch X
    donde X es el nombre de la rama y 28495 y 29536 se refieren a los números de revisión inicial y final que se mezclaron

Pasar cambios de un branch al trunk

  • Actualiza tu copia de trabajo a la última versión del trunk
  • Averigua el número de revisión del último merge (si todavía no se hizo ninguno, el número de revisión de creación del branch, debería aparecer en los comentarios)
  • Utiliza la herramienta de merge de subclipse para mezclar el branch en tu copia de trabajo (Team -> Merge)
    • Las URL‘s que aparecen en “From” y en “To” deberían ser las del branch
    • La revisión del “From” debería ser el número de revisión del último merge
    • La revisión del “To” debería ser “Head
    • Pulsa en el botón Merge y espera a que termine
    • En la consola se muestra un log del proceso realizado. No debería aparecer ningún conflicto ya que se supone que el branch contiene lo último del trunk mas sus propios cambios.
  • Probar todo una vez mezclado🙂
  • Subir los cambios de la mezcla al trunk y poner como comentario:
    Merged branch X changes 29536:29776 into the trunk
    donde X es el nombre de la rama y 29536 y 29776 se refieren a los números de revisión inicial y final que se mezclaron

Algunos enlaces de interés
Subversion Branching and Merging Techniques

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: