Desejo gerar uma lista de quais arquivos mudaram entre duas revisões em um determinado diretório no Mercurial.
Em particular, não estou interessado no que mudou, mas em quais arquivos foram alterados nesse diretório.
Por exemplo, supondo que entre then
e otherthen
, apenas 2 arquivos alterados:
>hg hypothetical-command -r then:otherthen
foo.baz
bar.baz
>
Qual é o comando hipotético? Eu tentei diff e log, mas não vejo como convencê-los a fazer isso: ou eu obtenho o patch (diff), ou obtenho o repo completo (log).
version-control
mercurial
Paul Nathan
fonte
fonte
hg status --rev x:y .
hg status --rev .^
-n
, ou sejahg status --rev x:y -n
hg status --change .
lista os arquivos alterados na.
- mesma lista,hg status --rev .^
mas mais diretamentestatus é o que você precisa.
Mas, dependendo do que você entende por "entre duas revisões", você também pode considerar o uso do intervalo " x :: y " (DAG - Gráfico Acíclico Direcionado).
Dados conjuntos de mudanças paralelos,
1--2---4 \---3
hg status --rev 1:4
retornaria (1,2,3,4), ou seja, qualquer coisa entre e incluindo os pontos finais, de acordo com o rev numérico local . Isso pode (e provavelmente irá) retornar resultados diferentes em outros - embora relacionados - repositórios!hg status --rev 1::4
retornaria (1,2,4), ou seja, os pontos de extremidade e todos os conjuntos de alterações que são descendentes de '1' E ancestrais de '4'.O último caso, x :: y, geralmente é mais útil em aplicativos do mundo real. Isso é o que você obtém via TortoiseHg \ Visual Diff.
> hg help revsets:
fonte
hg status --rev x::y
".