revset: fix infinite alias expansion detection
The alias expansion code it changed from:
1- Get replacement tree
2- Substitute arguments in the replacement tree
3- Expand the replacement tree again
into:
1- Get the replacement tree
2- Expand the replacement tree
3- Expand the arguments
4- Substitute the expanded arguments in the replacement tree
and fixes cases like:
[revsetalias]
level1($1, $2) = $1 or $2
level2($1, $2) = level1($2, $1)
$ hg log -r "level2(level1(1, 2), 3)"
where the original version incorrectly aborted on infinite expansion
error, because it was confusing the expanded aliases with their
arguments.
Put here definitions of blacklists for run-tests.py
Create a file per blacklist. Each file should list the names of tests that you
want to be skipped.
File names are meant to be used as targets for run-tests.py --blacklist
option.
Lines starting with # are ignored. White spaces are stripped.
e.g. if you create a blacklist/example file containing:
test-hgrc
# some comment
test-help
then calling "run-tests.py --blacklist blacklists/example" will exclude
test-hgrc and test-help from the list of tests to run.