Si hay una trayectoria lineal entre la revisión actual de padres y la revisión de destino, a continuación, puedes emitir
hg update right-branch
y Mercurial combinar los cambios en su copia de trabajo en la revisión destino.
Esto se hace usando la herramienta de combinación completa , por lo que se tienen en cuenta los cambios de nombre y obtendrá un programa de combinación de tres vías en caso de conflicto. Los enfoques basados en shelve y diff carecen de esto y requieren que solucione los conflictos a mano usando los archivos .rej
. Incluso puede ver el estado de fusión actual con hg resolve --list
y volver a fusionar los archivos seleccionados, ya que Mercurial realiza las copias de seguridad necesarias para usted.
Si no hay un camino lineal, se obtiene la siguiente advertencia:
abort: crosses branches (merge branches or use --clean to discard changes)
A continuación, puede obtener lo que desea por primera actualización de nuevo a un ancestro común, y luego actualizar de nuevo hacia delante. No estoy 100% seguro de por qué emitimos esta advertencia, pero buscar en los archivos de la lista de correo debería darte la respuesta si tienes curiosidad.
Creo que Mercurial es muy similar a Git. Entonces creo que tienes dos opciones. Guarde manualmente todos los archivos que haya agregado y modificado, cambie de rama y cópielos en la parte superior del sistema de archivos.O bien, realice los cambios en la rama actual, cambie a la rama que realmente deseaba y realice una combinación en ella desde la rama anterior. –