He leído este documento: A Guide to Branching with Mercurial, específicamente la sección titulada Branching with Bookmarks.Mercurial, "ramificación con marcadores"
Dice:
Ahora usted tiene dos marcadores (esencialmente una etiqueta) para sus dos ramas en el conjunto de cambios actual.
Para cambiar a una de estas ramas puede usar
hg update feature
para actualizar al conjunto de cambios de sugerencia de esa rama y marcarse a sí mismo como que trabaja en esa rama. Cuando se compromete, moverá el marcador al conjunto de cambios recién creado.
Intenté esto, pero terminó moviendo ambos marcadores al mismo tiempo.
¿Esa guía está equivocada, desactualizada o hice algo mal? Tenga en cuenta que sé que tener marcadores en ramas separadas solo mueve el marcador relacionado con la rama en la que estoy trabajando actualmente, pero esa guía (que mucha gente dice que es la guía definitiva para esto) dice específicamente el texto anterior, que indica que debería haber funcionado "contándole" a Mercurial qué marcador (rama) estoy trabajando.
Las pruebas muestran lo contrario.
¿Alguna idea?
Ejemplo:
> hg init > echo 1 >test.txt > hg commit -m "initial" --addremove adding test.txt > hg bookmark main > hg bookmark feature > hg log changeset: 0:c56ceb49ee20 tag: feature tag: main tag: tip user: Lasse V. Karlsen <[email protected]> date: Tue Nov 30 23:06:16 2010 +0100 summary: initial > hg update feature 0 files updated, 0 files merged, 0 files removed, 0 files unresolved > echo 2 >test2.txt > hg commit -m "feature 1" --addremove adding test2.txt > hg log changeset: 1:9f2f5869b57b tag: feature <---- both were moved tag: main <---- tag: tip user: Lasse V. Karlsen <[email protected]> date: Tue Nov 30 23:06:45 2010 +0100 summary: feature 1 changeset: 0:c56ceb49ee20 user: Lasse V. Karlsen <[email protected]> date: Tue Nov 30 23:06:16 2010 +0100 summary: initial
Quizás ese fue el comportamiento predeterminado en algún momento, ¿y se modificó? De todos modos, tienes razón, con esa configuración se comporta exactamente como la guía retrata. ¡Gracias! –
No, la opción 'track.current' siempre ha predeterminado a False. Recientemente se ha debatido acerca de cómo hacer que el comando de marcador sea un comando central y, en relación con eso, se sugirió que 'track.current' comience a funcionar como True. –
+1 para la respuesta útil, pero lleva a una pregunta obvia: ¿cuándo es track.current * not * appropriate? No puedo imaginar una situación en la que tengo varios marcadores y quiero que * todos * avancen en una confirmación. –