Trabajar con branchs en mercurial

Una de las formas de trabajar en paralelo varios desarrolladores es mediante branchs. En mercurial, aparte de tener cada uno su propio clone, también es posible tener una o más ramas independientes. La forma de trabajo es la siguiente:

Se crea un branch:

$ hg branch new_branch

Donde new_branch es el nombre que le queremos dar. Para saber en qué branch estamos trabajando, usamos el mismo comando sin argumentos:

$ hg branch
new_branch

Ahora, la línea de trabajo es como se muestra en la siguiente figura:


La forma de trabajo en el branch como si estuviésemos en el default, con la diferencia de que se hacen los commit y los push sin que afecten a la rama principal (default). Entonces, ¿cómo podemos fusionar esos cambios?. Hacemos un merge desde la rama default hacia el new_branch.

$ hg merge new_branch


Bajar una rama conmutar entre ellas

Si queremos hacernos un clon cuando ya hay ramas creadas, por defecto nos bajaremos la rama default. Para conmutar a otra rama hacemos lo siguiente:

$ hg branch -f new_branch

Esto nos sitúa sobre la rama que queremos. Ahora tenemos que actualizar para traernos los últimos cambios:

$ hg update

De la misma forma, podemos conmutar de una rama a otra haciendo estos dos pasos.

Luego, el trabajo normal:

$ hg ci -m "..."
$ hg pull
$ hg push


Si queremos traernos los cambios de cualquier rama, hacemos un merge con la rama que queremos:

$ hg branch
new_branch
$ hg merge default

Cuando queramos cerrar definitivamente la rama, ejecutamos el commit de la siguiente forma:

$ hg commit --close-branch -m 'Branch new_branch closed'


 Referencias

Hay un tutorial muy bueno sobre diferentes modos de trabajar con branchs en mercurial, (una de ellas es hacer branch "físicos").

1 comentarios:

Anónimo dijo...

gracias por la informacion necesitava algo asi, claro y conciso.
Atte Oscar

Publicar un comentario en la entrada