Personalmente, no me gusta ninguna de las respuestas publicadas hasta ahora:
- No me gusta la ramificación de clones porque me gusta que cada proyecto tenga solo un directorio. Trabajar en diferentes directorios al mismo tiempo arruina completamente el historial de archivos recientes de mis editores. Siempre termino cambiando el archivo incorrecto. Así que ya no hago eso.
- Lo uso
shelve
para arreglos rápidos (solo para mover mis cambios no comprometidos a otra rama, si me doy cuenta de que estoy en la incorrecta). Estás hablando de días, de ninguna manera dejaría algo por días.
- Creo que
mq
es demasiado complicado para una situación tan ordinaria.
Creo que la mejor manera es simplemente confirmar los cambios, luego volver al conjunto de cambios antes de comenzar estos cambios y trabajar desde allí. Hay algunos problemas menores, permítanme ilustrar:
Supongamos que tiene el conjunto de cambios A. Luego comienza los cambios. En este punto, debe dejarlo a un lado por un tiempo. Primero que nada, compromete tu trabajo:
hg ci -m "Working on new stuff"
Si lo desea, puede agregar un marcador para que sea más fácil volver más tarde. Siempre creo marcadores para mis ramas anónimas.
hg bookmark new-stuff
Regrese al conjunto de cambios antes de estas modificaciones
hg update A
Desde aquí, trabaja y genera el conjunto de cambios C. Ahora tiene 2 cabezas (B y C), se le advertirá cuando intente presionar. Puede enviar solo una rama especificando el encabezado de esa rama:
hg push -r C
O puede cambiar la fase de la new-stuff
rama a secreta. No se enviarán conjuntos de cambios secretos.
hg phase -r new-stuff --secret --force