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 theny 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 -nhg 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 \---3hg status --rev 1:4devolverí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::4devolverí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".