Quiero generar una lista de los archivos que cambiaron entre dos revisiones en un directorio determinado en Mercurial.
En particular, no me interesa qué cambió, sino qué archivos cambiaron en ese directorio.
Por ejemplo, suponiendo que entre then
y otherthen
, solo cambiaron 2 archivos:
>hg hypothetical-command -r then:otherthen
foo.baz
bar.baz
>
¿Cuál es el comando hipotético? He intentado diff y log, pero no veo cómo convencerlos de que lo hagan: o obtengo el parche (diff) o obtengo el repositorio completo (log).
version-control
mercurial
Paul Nathan
fuente
fuente
hg status --rev x:y .
hg status --rev .^
-n
, es decirhg status --rev x:y -n
hg status --change .
enumera los archivos modificados en.
- la misma lista quehg status --rev .^
pero de manera más directael estado es lo que necesitas.
Pero, dependiendo de lo que quiera decir con "entre dos revisiones", también podría considerar usar el rango " x :: y " (Gráfico acíclico dirigido por DAG).
Dados conjuntos de cambios paralelos,
1--2---4 \---3
hg status --rev 1:4
devolvería (1,2,3,4), es decir, cualquier cosa entre los puntos finales e incluidos, de acuerdo con la rev numérica local . Esto podría (y probablemente lo hará) devolver resultados diferentes en otros repositorios, aunque relacionados.hg status --rev 1::4
devolvería (1,2,4), es decir, los puntos finales y todos los conjuntos de cambios que son descendientes de '1' Y antepasados de '4'.El último caso, x :: y, suele ser más útil en aplicaciones del mundo real. Esto es lo que obtiene a través de TortoiseHg \ Visual Diff.
> hg help revsets:
fuente
hg status --rev x::y
".