Estoy buscando una contraparte de git commit --amend
en Mercurial, es decir, una forma de modificar la confirmación a la que está vinculada mi copia de trabajo. Solo me interesa la última confirmación, no una confirmación previa arbitraria.
Los requisitos para este procedimiento de modificación son:
si es posible, no debería requerir ninguna extensión. No debe requerir extensiones no predeterminadas , es decir, extensiones que no vienen con una instalación oficial de Mercurial.
si el compromiso de enmendar es un jefe de mi rama actual, no se debe crear un nuevo jefe . Si el commit no es head, se puede crear un nuevo head.
el procedimiento debe ser seguro de manera que si, por cualquier motivo, la modificación falla, quiero tener la misma copia de trabajo y el mismo estado de repositorio restaurado que antes de la modificación. En otras palabras, si la enmienda misma puede fallar, debe haber un procedimiento a prueba de fallas para restaurar la copia de trabajo y el estado del repositorio. Me refiero a "fallas" que se encuentran en la naturaleza del procedimiento de enmienda (como, por ejemplo, conflictos), no a problemas relacionados con el sistema de archivos (como restricciones de acceso, no poder bloquear un archivo para escritura, ... )
Actualización (1):
- El procedimiento debe ser automatizable , por lo que puede ser realizado por un cliente GUI sin necesidad de interacción del usuario.
Actualización (2):
- los archivos en el directorio de trabajo no deben tocarse (puede haber bloqueos del sistema de archivos en ciertos archivos modificados). Esto significa especialmente que un posible enfoque en ningún momento puede requerir un directorio de trabajo limpio.