mercurial hg-log

Mercurial: ¿determinar dónde se eliminó el archivo?



hg-log (3)

Si lo hace hg log myfile -v verá una lista de los conjuntos de cambios en los que se modificó el archivo.

En nuestro caso, en el conjunto de cambios más reciente, el archivo fue eliminado. Pero no puede saberlo mirando la salida detallada (-v) del registro de hg. ¿Hay un comando de Mercurial fácil que pueda usar para determinar si un archivo ha sido eliminado del repositorio y cuándo?

Actualización : tenga en cuenta que esto está en un cliente de Windows y estamos utilizando Mercurial v 1.4.3

Actualización 2 : Parece que las respuestas a continuación funcionarían con una versión más reciente de Mercurial, sin embargo, una actualización no está en las tarjetas en este momento. ¿Alguna otra idea para v 1.4.3 ???


Esto es lo que uso para listar todos los archivos eliminados en mi repositorio:

hg log --template "{rev}: {file_dels}/n" | grep -v '':/s*$''


La bandera --removed debería conseguirte lo que estás buscando:

hg log myfile -v --removed

De la ayuda para el hg log :

--removed include revisions where files were removed


Puede verificar qué revisión eliminó un archivo (cualquier otra característica interesante) usando revsets:

hg log -r ''removes(<myfile>)''

Algunos ejemplos:

hg log -r ''removes(build.xml)'' // donde build.xml solía estar en el directorio actual

hg log -r ''removes("**/build.xml")'' // donde build.xml pudo haber estado en subdirectorios

Ver hg help revsets para más detalles.