diff --git a/tests/test-fix.t b/tests/test-fix.t --- a/tests/test-fix.t +++ b/tests/test-fix.t @@ -1303,10 +1303,13 @@ > [fix] > printcwd:command = "$PYTHON" -c "import os; print(os.getcwd())" > printcwd:pattern = relpath:foo/bar + > filesetpwd:command = "$PYTHON" -c "import os; print('fs: ' + os.getcwd())" + > filesetpwd:pattern = set:**quux > EOF $ mkdir foo $ printf "bar\n" > foo/bar + $ printf "quux\n" > quux $ hg commit -Aqm blah $ hg fix -w -r . foo/bar @@ -1318,15 +1321,39 @@ $ cd foo $ hg fix -w -r . bar - $ hg cat -r tip bar + $ hg cat -r tip bar ../quux $TESTTMP/subprocesscwd - $ cat bar + quux + $ cat bar ../quux $TESTTMP/subprocesscwd + quux $ echo modified > bar $ hg fix -w bar $ cat bar $TESTTMP/subprocesscwd +Apparently fixing p1() and its descendants doesn't include wdir() unless +explicitly stated. + +BROKEN: fileset matches aren't relative to repo.root for commits + + $ hg fix -r '.::' + $ hg cat -r . ../quux + quux + $ hg cat -r tip ../quux + quux + $ cat ../quux + quux + +Clean files are not fixed unless explicitly named + $ echo 'dirty' > ../quux + +BROKEN: fileset matches aren't relative to repo.root for wdir + + $ hg fix --working-dir + $ cat ../quux + dirty + $ cd ../.. Tools configured without a pattern are ignored. It would be too dangerous to