tutorial mercurial

tutorial - Usando hg revertir en Mercurial



mercurial repository tutorial (8)

Estoy usando Mercurial. Hice un clon de un repositorio. Para la depuración, cambié algunas líneas de código en un archivo java. Sin embargo, no cometí esos cambios. Solo quiero devolverlos a su estado original, como se encuentra en el repositorio. hg revert filename.java , que lo revertió, pero ahora cuando hago hg status , veo archivos adicionales agregados en mi carpeta ahora como:

? filename.java.orig

¿Puedo eliminar esos archivos y por qué Mercurial los hace cuando uso Revertir?


Como han señalado otros, puede eliminar estos archivos de forma segura.

Puede eliminarlos ejecutando este comando desde la raíz de su repositorio:

rm `hg st -un | grep orig`

Si desea revertir, y no le importa en absoluto la copia de seguridad de los archivos originales, el comando que desea es:

hg update -C


Encuentro la extensión de purga a mano. Uso:

hg purge

"Esta extensión purga todos los archivos y directorios que Mercurial no rastrea", incluidos los archivos .orig pero excluyendo los archivos ignorados (a menos que use --all).


Esas son copias de los archivos de antes de revertirlos. Si no los necesita, puede eliminarlos, ya sea manualmente o mediante la extensión Purga :

hg clean


Estos archivos de copia de seguridad pueden crearse para operaciones de fusión e inversión (consulte la página man ). Puede agregar una regla de ignorar si lo desea, o simplemente eliminarlos si ya no los necesita.


Estos son bastante comunes, como resultado de varias operaciones. Una mirada a uno de los repositorios de tamaño moderado en el que trabajo encuentra 237 de ellos. No me gusta borrar cosas que pueden llegar a ser útiles, y no tengo ninguna razón para nombrar archivos legítimos con el mismo sufijo, por lo que agrego lo siguiente a .hgignore en su lugar:

./.orig$


Hice este archivo por lotes yo mismo.

IF "%1%" == "d" ( del /s *.orig del /s *.rej ) ELSE ( del /s /p *.rej del /s /p *.orig )

Ayuda: Guarde este contenido como orig.bat

  1. Ejecute orig d para eliminar todos los rechazos y archivos originales a la vez sin confirmación
  2. Ejecutar orig para eliminar archivos con confirmación [Mecanismo de seguridad]

Espero que esto sea útil.


Sí, puedes borrarlos. Es una característica de seguridad en caso de que hayas revertido algo que no quisiste revertir.


También puede usar el indicador --no-backup y los archivos .orig no se crearán

hg revert --no-backup filename.java

A partir de Mercurial 2.0, en su lugar puede usar la bandera -C para suprimir la creación de archivos .orig

hg revert -C filename.java