Generating a list of which files changed between hg versions

Solution 1:

hg status --rev x:y

where x and y are desired revision numbers (or tag or branch names).

If you are using the terminal in windows add hg status --rev x:y> your-file.txt to save the list to a file.

Solution 2:

status is what you need.

But, depending what you mean by "between two revisions", you might also consider using the "x::y" (DAG - Directed Acyclic Graph) range.

Given parallel changesets,

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

hg status --rev 1:4 would return (1,2,3,4), i.e. anything between and including the endpoints, according to the local, numerical rev. This might (and most probably will) return different results in other - though related - repositories!

hg status --rev 1::4 would return (1,2,4), i.e. the endpoints, and all changesets which are descendants of '1' AND ancestors of '4'.

The latter case, x::y, is usually more useful in real-world applications. This is what you get via TortoiseHg\Visual Diff.


>hg help revsets:

"x::y" A DAG range, meaning all changesets that are descendants of x and ancestors of y, including x and y themselves. If the first endpoint is left out, this is equivalent to "ancestors(y)", if the second is left out it is equivalent to "descendants(x)".