2011-02-15 18 views
5

¿Cómo obtengo una lista de todos los archivos afectados en un conjunto de cambios desde rev 3456?Cómo obtener la lista de archivos que se vieron afectados desde una revisión específica en Mercurial

Nota: Probé hg log --rev 3456:tip --template "{files}"\n pero hay varios problemas

  1. Si un conjunto de cambios afecta a varios archivos, todos ellos aparecen en la misma línea.
  2. Esto también muestra el mismo archivo varias veces si un archivo estuvo involucrado en muchos changsets.
+0

3 suena como un error. ¿tiene un ejemplo en el que una fusión cambia un archivo del primer padre pero no aparece en el registro de hg? – John

+0

@John: no es un error. Entendí mal algo sobre fusionar conjuntos de cambios. Eliminé el problema 3 de la pregunta. – Sylvain

+0

posible duplicado de [Generar una lista de qué archivos cambiaron entre las versiones de hg] (http://stackoverflow.com/questions/2024510/generating-a-list-of-which-files-changed-between-hg-versions) –

Respuesta

5

hg stat --rev 3456

hg stat --rev 3456:tip para excluir cambios no confirmados

+0

En mi repositorio, el conjunto de cambios 3456 es la sugerencia. Tortoise hg muestra 3 archivos para el conjunto de cambios 3456 pero '" hg stat --rev 3456 "' no muestra ningún archivo. Ese conjunto de cambios es una fusión. – Sylvain

+0

¿Eh? Si 3456 es la propina (tip significa el conjunto de cambios más reciente agregado al repositorio), ¿cómo quieres que "todos los archivos se vean afectados en un conjunto de cambios desde rev 3456"? Para obtener la lista de todos los cambios @robert sugiere que necesita --rev opciones o uno con dos puntos. –

+0

Entendí mal algo sobre fusionar conjuntos de cambios. Tu solución parece funcionar ... – Sylvain

1

crear un archivo llamado "mystyle"

changeset = "{files}" 
file="{file}\n" 

Entonces hg log --style mystyle --rev 3456:tip | sort | unique

+0

el formato es bueno con su ejemplo, pero me acabo de dar cuenta de que 'hg -log' no me da lo que necesito. He actualizado mi pregunta. Vea el problema 3 en mi pregunta. – Sylvain

1

Hay una previous question que cubre el mismo tema, con la restricción adicional de que la búsqueda se restringe a los archivos que pertenecen a 'mí . ' Simplemente puede eliminar el '--user' y debe hacer lo que necesita.

Cuestiones relacionadas