tests: show that fileset patterns don't work with `fix` when not in repo root
authorMatt Harbison <matt_harbison@yahoo.com>
Fri, 06 Dec 2019 20:29:02 -0500
changeset 43953 9595b6a9f0d5
parent 43952 ac627ed8a911
child 43954 8b1a9ba375e5
tests: show that fileset patterns don't work with `fix` when not in repo root Differential Revision: https://phab.mercurial-scm.org/D7569
tests/test-fix.t
--- a/tests/test-fix.t	Fri Dec 20 17:19:25 2019 +0100
+++ b/tests/test-fix.t	Fri Dec 06 20:29:02 2019 -0500
@@ -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