简体   繁体   中英

Generating a list of which files changed between hg versions

I want to generate a list of which files changed between two revisions in a given directory in Mercurial.

In particular, I am not interested in what changed, but which files changed in that directory.

Eg, supposing that between then and otherthen , only 2 files changed:

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

What's the hypothetical command? I've tried diff and log, but I can't see how to convince them to do it: either I get the patch(diff), or I get the whole repo(log).

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.

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), ie 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), ie 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)".

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM