tests: add an end-to-end test to show a bug in `visit_children_set`
Concretely, `rootfilesin` is completely broken with respect to
`visit_children_set` optimization.
--- a/tests/test-status.t Thu Apr 11 19:57:36 2024 +0100
+++ b/tests/test-status.t Fri Apr 12 13:48:38 2024 +0100
@@ -842,6 +842,12 @@
C clean
C subdir/clean
+ $ hg status path:subdir
+ M subdir/modified
+ R subdir/removed
+ ! subdir/deleted
+ ? subdir/unknown
+
FIXME: it's a bug in rhg that the status below is empty:
$ hg status 'glob:subdir/*'
@@ -850,6 +856,14 @@
! subdir/deleted (no-rhg !)
? subdir/unknown (no-rhg !)
+FIXME: it's a bug (both in rhg and in Python) that the status below is wrong,
+in rhg it's empty, in Python it's missing the unknown file:
+
+ $ hg status rootfilesin:subdir
+ M subdir/modified (no-rhg !)
+ R subdir/removed (no-rhg !)
+ ! subdir/deleted (no-rhg !)
+
Note: `hg status some-name` creates a patternmatcher which is not supported
yet by the Rust implementation of status, but includematcher is supported.
--include is used below for that reason