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:
Donde new_branch es el nombre que le queremos dar. Para saber en qué branch estamos trabajando, usamos el mismo comando sin argumentos:
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.
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:
gracias por la informacion necesitava algo asi, claro y conciso.
Atte Oscar
Publicar un comentario en la entrada