¿Cómo ver el historial de revisión del archivo Mercurial?

106

Para un archivo dado en un repositorio de Mercurial, ¿cómo puede ver el historial de revisión?

¿Y cómo se pueden diferenciar dos revisiones del archivo?

Idealmente, hacer todo esto con herramientas visuales (usamos ExamDiff para hacer algunas otras diferencias).

Yo diría que esta es una funcionalidad básica de control de fuente, pero parece que no puedo entender cómo hacer esto con Mercurial.

Marcus Leon
fuente

Respuestas:

129
hg log file

hg diff -r 10 -r 20 file
zerkms
fuente
1
Perfecto ... También funciona con ExamDiff:hg examdiff -r 10 -r 20 file
Marcus Leon
2
también puede ser útil buscar una palabra clave en lugar de un nombre de archivo exacto, hg log -k palabra clave
Despertar
Esto me da salida / respuesta cero; no pasa nada.
temporary_user_name
27

La extensión hgk le da un hg view filecomando que muestra un historial visual, desde el cual puede diferenciar / vdiff par arbitrario de revisiones.

TortoiseHg le da un thg log filecomando que hace lo mismo pero se ve mejor.

Geoffrey Zheng
fuente
¡muy agradable! pero 'hgtk' ahora es solo un contenedor, por favor use 'thg' en linux
milkplus
1
hgk funciona para revisiones completas, pero ¿cómo se logra que difiera archivos individuales ?
keflavich
9

Para legibilidad

hg diff -r revision1:revision2 file

Donde revision1 y revision2 pueden ser una etiqueta, conjunto de cambios, etc.

Carlo Chum
fuente
5

Si usa TortoiseHg: los usuarios de Windows pueden usar el Explorador de Windows y ver el historial de revisión haciendo clic derecho en el archivo.

Para los usuarios de Linux, puede hacerlo dentro de TortoiseHg, pero me tomó un tiempo descubrir cómo. Debe hacer clic con el botón derecho en el archivo deseado y seleccionar "Historial de archivos". Sin embargo, por alguna misteriosa razón, el archivo no debe modificarse. Además, para encontrar el archivo deseado existen dos opciones:

En ### revision set query###uno puede escribir:

file("**<myfile>")

Los dobles ** son necesarios para buscar directorios de forma recursiva. Esto le da inmediatamente una lista de todos los repositorios en los que se cambió el archivo deseado.

Alternativamente, al lado del ### filter text ###primero, haga clic en el signo de interrogación y seleccione "limpiar" para ver todos los archivos en el repositorio. Luego, dentro del ### filter text ###cuadro, puede reducir la cantidad de archivos que se muestran.

Alternativamente, los usuarios de Linux pueden hacerlo desde una terminal como sugirió Geoffrey Zheng arriba:

thg log file
Jasper Uijlings
fuente
Quizás esto haya cambiado desde 2010, pero puedo hacer clic en un archivo modificado en THG y ver el historial de revisión.
UuDdLrLrSs