web-dev-qa-db-fra.com

Génération d'une liste des fichiers modifiés entre les versions hg

Je veux générer une liste des fichiers modifiés entre deux révisions dans un répertoire donné dans Mercurial.

En particulier, je ne suis pas intéressé par quoi changé, mais quels fichiers changé dans ce répertoire.

Par exemple, en supposant qu'entre then et otherthen, seuls 2 fichiers ont changé:

>hg hypothetical-command -r then:otherthen
foo.baz
bar.baz
>

Quelle est la commande hypothétique? J'ai essayé diff et log, mais je ne vois pas comment les convaincre de le faire: soit je reçois le patch (diff), soit je reçois le repo (log) en entier.

116
Paul Nathan
hg status --rev x:y

x et y sont les numéros de révision souhaités (ou les noms de balises ou de branches).

Si vous utilisez le terminal dans Windows, ajoutez hg status --rev x:y> your-file.txt pour enregistrer la liste dans un fichier.

162
alemjerus

status est ce dont vous avez besoin.

Mais, selon ce que vous entendez par "entre deux révisions", vous pouvez également envisager d'utiliser la plage "x :: y" (DAG - Directed Acyclic Graph).

Étant donné les ensembles de modifications parallèles,

1--2---4 \---3

hg status --rev 1:4 renverrait (1, 2, 3, 4), c'est-à-dire tout ce qui est compris entre les points de terminaison, y compris, selon le nombre local rev . Cela pourrait (et très probablement) retourner des résultats différents dans d'autres référentiels - bien que liés -!

hg status --rev 1::4 renverrait (1,2,4), c'est-à-dire les points de terminaison, et tous les ensembles de modifications qui sont descendants de '1' ET ancêtres de '4'.

Le dernier cas, x :: y, est généralement plus utile dans les applications du monde réel. C'est ce que vous obtenez via TortoiseHg\Visual Diff.


> hg help revsets:

"x :: y" Une plage DAG, c'est-à-dire tous les ensembles de modifications qui sont des descendants de x et des ancêtres de y, y compris x et y eux-mêmes. Si le premier point de terminaison est omis, cela équivaut à "ancêtres (y)", si le second est omis, il équivaut à "descendants (x)".

14
martind2112