changeset 49506:44bc045a43ca

branching: merge stable into default
author Raphaël Gomès <rgomes@octobus.net>
date Tue, 04 Oct 2022 10:56:27 +0200
parents a6efc1f1a73b (current diff) b6c6ac6ef359 (diff)
children 791050360486
files contrib/heptapod-ci.yml rust/rhg/src/main.rs
diffstat 13 files changed, 150 insertions(+), 119 deletions(-) [+]
line wrap: on
line diff
--- a/.hgsigs	Mon Oct 03 14:24:12 2022 +0200
+++ b/.hgsigs	Tue Oct 04 10:56:27 2022 +0200
@@ -233,3 +233,4 @@
 094a5fa3cf52f936e0de3f1e507c818bee5ece6b 0 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
+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
--- a/.hgtags	Mon Oct 03 14:24:12 2022 +0200
+++ b/.hgtags	Tue Oct 04 10:56:27 2022 +0200
@@ -246,3 +246,4 @@
 094a5fa3cf52f936e0de3f1e507c818bee5ece6b 6.2
 f69bffd00abe3a1b94d1032eb2c92e611d16a192 6.2.1
 b5c8524827d20fe2e0ca8fb1234a0fe35a1a36c7 6.2.2
+dbdee8ac3e3fcdda1fa55b90c0a235125b7f8e6f 6.2.3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/check-pytype.sh	Tue Oct 04 10:56:27 2022 +0200
@@ -0,0 +1,72 @@
+#!/bin/sh
+
+set -e
+set -u
+
+cd `hg root`
+
+# Many of the individual files that are excluded here confuse pytype
+# because they do a mix of Python 2 and Python 3 things
+# conditionally. There's no good way to help it out with that as far as
+# I can tell, so let's just hide those files from it for now. We should
+# endeavor to empty this list out over time, as some of these are
+# probably hiding real problems.
+#
+# mercurial/bundlerepo.py       # no vfs and ui attrs on bundlerepo
+# mercurial/context.py          # many [attribute-error]
+# mercurial/crecord.py          # tons of [attribute-error], [module-attr]
+# mercurial/debugcommands.py    # [wrong-arg-types]
+# mercurial/dispatch.py         # initstdio: No attribute ... on TextIO [attribute-error]
+# mercurial/exchange.py         # [attribute-error]
+# mercurial/hgweb/hgweb_mod.py  # [attribute-error], [name-error], [wrong-arg-types]
+# mercurial/hgweb/server.py     # [attribute-error], [name-error], [module-attr]
+# mercurial/hgweb/wsgicgi.py    # confused values in os.environ
+# mercurial/httppeer.py         # [attribute-error], [wrong-arg-types]
+# mercurial/interfaces          # No attribute 'capabilities' on peer [attribute-error]
+# mercurial/keepalive.py        # [attribute-error]
+# mercurial/localrepo.py        # [attribute-error]
+# mercurial/manifest.py         # [unsupported-operands], [wrong-arg-types]
+# mercurial/minirst.py          # [unsupported-operands], [attribute-error]
+# mercurial/pure/osutil.py      # [invalid-typevar], [not-callable]
+# mercurial/pure/parsers.py     # [attribute-error]
+# mercurial/repoview.py         # [attribute-error]
+# mercurial/testing/storage.py  # tons of [attribute-error]
+# mercurial/ui.py               # [attribute-error], [wrong-arg-types]
+# mercurial/unionrepo.py        # ui, svfs, unfiltered [attribute-error]
+# mercurial/win32.py            # [not-callable]
+# mercurial/wireprotoframing.py # [unsupported-operands], [attribute-error], [import-error]
+# mercurial/wireprotov1peer.py  # [attribute-error]
+# mercurial/wireprotov1server.py  # BUG?: BundleValueError handler accesses subclass's attrs
+
+# TODO: use --no-cache on test server?  Caching the files locally helps during
+#       development, but may be a hinderance for CI testing.
+
+# TODO: include hgext and hgext3rd
+
+pytype -V 3.7 --keep-going --jobs auto mercurial \
+    -x mercurial/bundlerepo.py \
+    -x mercurial/context.py \
+    -x mercurial/crecord.py \
+    -x mercurial/debugcommands.py \
+    -x mercurial/dispatch.py \
+    -x mercurial/exchange.py \
+    -x mercurial/hgweb/hgweb_mod.py \
+    -x mercurial/hgweb/server.py \
+    -x mercurial/hgweb/wsgicgi.py \
+    -x mercurial/httppeer.py \
+    -x mercurial/interfaces \
+    -x mercurial/keepalive.py \
+    -x mercurial/localrepo.py \
+    -x mercurial/manifest.py \
+    -x mercurial/minirst.py \
+    -x mercurial/pure/osutil.py \
+    -x mercurial/pure/parsers.py \
+    -x mercurial/repoview.py \
+    -x mercurial/testing/storage.py \
+    -x mercurial/thirdparty \
+    -x mercurial/ui.py \
+    -x mercurial/unionrepo.py \
+    -x mercurial/win32.py \
+    -x mercurial/wireprotoframing.py \
+    -x mercurial/wireprotov1peer.py \
+    -x mercurial/wireprotov1server.py
--- a/contrib/heptapod-ci.yml	Mon Oct 03 14:24:12 2022 +0200
+++ b/contrib/heptapod-ci.yml	Tue Oct 04 10:56:27 2022 +0200
@@ -90,11 +90,11 @@
       - cd /tmp/mercurial-ci/
       - make local PYTHON=$PYTHON
       - $PYTHON -m pip install --user -U libcst==0.3.20 pytype==2022.03.29
+    script:
+      - echo "Entering script section"
+      - sh contrib/check-pytype.sh
     variables:
-        RUNTEST_ARGS: " --allow-slow-tests tests/test-check-pytype.t"
-        HGTEST_SLOWTIMEOUT: "3600"
         PYTHON: python3
-        TEST_HGMODULEPOLICY: "c"
 
 # `sh.exe --login` sets a couple of extra environment variables that are defined
 # in the MinGW shell, but switches CWD to /home/$username.  The previous value
--- a/contrib/packaging/requirements-windows-py3.txt	Mon Oct 03 14:24:12 2022 +0200
+++ b/contrib/packaging/requirements-windows-py3.txt	Tue Oct 04 10:56:27 2022 +0200
@@ -16,10 +16,6 @@
     --hash=sha256:9fa5755838eecbb2d234c3aa390bd80fbd3ac6b6869109bfc1b499f7bd89a130 \
     --hash=sha256:df4f613cf7ad9a588cc381aaf4a512d26265ecebd5eb9e1ba12f1319eb85a6a0
     # via pygit2
-certifi==2021.5.30 \
-    --hash=sha256:2bbf76fd432960138b3ef6dda3dde0544f27cbf8546c458e60baf371917ba9ee \
-    --hash=sha256:50b1e4f8446b06f41be7dd6338db18e0990601dce795c2b1686458aa7e8fa7d8
-    # via dulwich
 cffi==1.15.0 \
     --hash=sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3 \
     --hash=sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2 \
@@ -80,28 +76,38 @@
     --hash=sha256:0c5b78adfbf7762415433f5515cd5c9e762339e23369dbe8000d84a4bf4ab3af \
     --hash=sha256:c2de3a60e9e7d07be26b7f2b00ca0309c207e06c100f9cc2a94931fc75a478fc
     # via -r contrib/packaging/requirements-windows.txt.in
-dulwich==0.20.45 \
-    --hash=sha256:042bc206764968b17338e32c52bb6a116154eb87a63651971946917dfa37a359 \
-    --hash=sha256:22d433ba9c776f2b0e19b1186e01e25ca286175e20f4ac422141db94eeaac08b \
-    --hash=sha256:2d7cf5171034d9d61b928bd5f9c509000e895d1ba29bd6ea850b9e4f93fca0f7 \
-    --hash=sha256:3136bcaf7508522a2aa63f856743f06129261bc5a03331aa6a0654fa6d04a4ae \
-    --hash=sha256:35015e43207752cf7924860e85a3c2290c652c0c3ee81e7c95c52d34638f605d \
-    --hash=sha256:3f2c137a0003e80e384d116e65b453f8a704c2d393c30a47b447764e7f9c05a1 \
-    --hash=sha256:49852f12c1e1d50039f927e9fdee1bd00a9b428c31b078ba5ba9fc1cf88e9d3e \
-    --hash=sha256:4abb1b0e1e50192ce7204c4e14f24c989c5920c56de908365f4e66c6e3458945 \
-    --hash=sha256:4e405ac9426288ca782c45e066f816d878b4a529acf4d4b0b2a5bb45a804dfec \
-    --hash=sha256:5e41044ac51a4b3454d67e5f691808540470deeb6a852d7c5c6ca44c48b4cdc3 \
-    --hash=sha256:65334bd7a1d91054516a49f86343e9c2549740bbddebcbb4763c8aacf2aac48c \
-    --hash=sha256:6e02babb44bdad17b6c9c50b4f9df42f6e511e3a51555ac07dd85ec904efe0b1 \
-    --hash=sha256:70710dd9ca2a442190c7e506892db074c318ac762e221f7529b8ce34802041b7 \
-    --hash=sha256:9b689b05bc7baa5cb20ebff54291085b598a9bdf7caeab23daf93b46421d96ff \
-    --hash=sha256:b3f64870f2f206dda3308cb73563f5f59fdc084179271651a0488d12ab4185b9 \
-    --hash=sha256:bb75268cec2f3ae6f6b7addbc0db50db2e9e42b2ad8364e74b9f5b17ab0053b5 \
-    --hash=sha256:c8c0fc7d2e3b0ad6a4faadf96f0626fa50935ababfd774b9b94edaa28f0668ec \
-    --hash=sha256:d89f53a739ac3394b5ef2f178480569b7d36d4fe7b4bb49678582914530ce35b \
-    --hash=sha256:d8b6aae7af8edbfac8038e1777ae820efac33c7c22a8025d3254bbd53ec725b5 \
-    --hash=sha256:eb4189d72a0e2f3070e2abdbd10a05c0e62355cd5496761d6e68f1e865ac6fad \
-    --hash=sha256:efe46167eb02ba85d9c2e993635e7543e1e04bb3261112e9d54daff2385ae5df
+dulwich==0.20.46 \
+    --hash=sha256:0a1ca555a3eafe7388d6cb81bb08f34608a1592500f0bd4c26734c91d208a546 \
+    --hash=sha256:100d39bc18196a07c521fd5f60f78f397493303daa0b8690216864bbc621cd5d \
+    --hash=sha256:1162fdafb2abdfe66649617061f3853cb26384fade1f6884f6fe6e9c570a7552 \
+    --hash=sha256:153c7512587384a290c60fef330f1ab397a59559e19e8b02a0169ff21b4c69fb \
+    --hash=sha256:3e16376031466848e44aabf3489fafb054482143744b21167dbd168731041c74 \
+    --hash=sha256:42fa5a68908556eb6c40f231a67caf6a4660588aad707a9d6b334fa1d8f04bf7 \
+    --hash=sha256:4f0e88ffff5db1523d93d92f1525fe5fa161318ffbaad502c1b9b3be7a067172 \
+    --hash=sha256:525115c4d1fbf60a5fe98f340b4ca597ba47b2c75d9c5ec750dd0e9115ef8ec6 \
+    --hash=sha256:6676196e9cf377cde62aa2f5d741e93207437343e0c62368bd0d784c322a3c49 \
+    --hash=sha256:669c6b3d82996518a7fec4604771bd285e23f0860f41f565fef5987265d431d9 \
+    --hash=sha256:6826512f778eaa47e2e8c0a46cdc555958f9f5286771490b8642b4b508ea5d25 \
+    --hash=sha256:6eed5a3194d64112605fc0f638f4fa91771495e8674fa3e6d6b33bf150d297d5 \
+    --hash=sha256:73e2585a9fcf1f8cdad8597a0c384c0b365b2e8346463130c96d9ea1478587ae \
+    --hash=sha256:769442c9657b10fc35ac625beeaf440540c9288c96fcfaba3e58adf745c5cafd \
+    --hash=sha256:8d6fee82cedb2362942d9ef94061901f7e07d7d8674e4c7b6fceeef7822ae275 \
+    --hash=sha256:90a075aeb0fdbad7e18b9db3af161e3d635e2b7697b7a4b467e6844a13b0b210 \
+    --hash=sha256:92024f572d32680e021219f77015c8b443c38022e502b7f51ad7cf51a6285a36 \
+    --hash=sha256:9ca4d73987f5b0e2e843497876f9bb39a47384a2e50597a85542285f5c890293 \
+    --hash=sha256:9fc7a4f633f5468453d5dd84a753cd99d4433f0397437229a0a8b10347935591 \
+    --hash=sha256:a5b68bd815cd2769c75e5a78708eb0440612df19b370a977aa9e01a056baa9ed \
+    --hash=sha256:a5d1b7a3a7d84a5dedbb90092e00097357106b9642ac08a96c2ae89ccd8afd9a \
+    --hash=sha256:b1339bca70764eb8e780d80c72e7c1cb4651201dc9e43ec5d616bf51eb3bb3a6 \
+    --hash=sha256:b739d759c10e2af7c964dcc97fd4e5dc49e8567d080eed8906fc422c79b7fdcf \
+    --hash=sha256:b9f49de83911eed7adbe83136229837ef9d102e42dbe6aacb1a18be45c997ace \
+    --hash=sha256:c4cd2cd7baa81246bdc8c5272d4e9224e2255da7a0618a220aab5e07b9888e9b \
+    --hash=sha256:d38be7d3a78d608ecab3348f7920d6b9002e7972dd245206dc8075cfdb91621d \
+    --hash=sha256:d928de1eba0326a2a8a52ed94c9bf7c315ff4db606a1aa3ae688d39574f93267 \
+    --hash=sha256:dd3eac228117487a959ac8f49ea2787eac34acc69999fe7adae70b23e3c3571c \
+    --hash=sha256:de22a54f68c6c4e97f9b924abd46da4618536d7934b9849066be9fc5cd31205d \
+    --hash=sha256:f4b7a7feb966a4669c254b18385fe0b3c639f3b1f5ddef0d9e083364cc762847 \
+    --hash=sha256:f9552ac246bceab1c5cdd1ec3cfe9446fe76b9853eaf59d3244df03eb27fd3fe
     # via -r contrib/packaging/requirements-windows.txt.in
 fuzzywuzzy==0.18.0 \
     --hash=sha256:45016e92264780e58972dca1b3d939ac864b78437422beecebb3095f8efd00e8
--- a/relnotes/6.2	Mon Oct 03 14:24:12 2022 +0200
+++ b/relnotes/6.2	Tue Oct 04 10:56:27 2022 +0200
@@ -1,3 +1,26 @@
+= Mercurial 6.2.2 =
+
+ * fsmonitor: restore functionality by moving to new dirstate APIs
+ * dirstate-v2: fix data file transaction handling (issue6730)
+ * rust: fix behavior when matching files with multiple includes 
+ * rust: widen range of compatible crates to help with packaging
+ * rust-status: ignored directories are now correctly only listed if opted into
+ * automation: improve Windows packaging tooling
+ * contrib: update Mercurial install in bootstrap environment
+ * Remove flakiness in some tests
+ * Improve portability of certain `tar` uses in tests
+
+= Mercurial 6.2.1 =
+
+ * Fix SSL support in Python 3.6
+ * git: make sure to fsdecode bookmark names everywhere (issue6723)
+ * git: add a missing reset_copy keyword argument to dirstate.set_tracked()
+ * git: copy findmissingrevs() from revlog.py to gitlog.py (issue6472)
+ * packaging: update keyring on Windows to avoid spurious stacktraces
+ * packaging: bump dulwich to 0.20.45
+ * Fix typos in documentation for debugdiscovery
+ * Miscellaneous improvements of debugdiscovery 
+
 = Mercurial 6.2rc0 =
 
 '''This is the first release to support Python 3.6+ ''only'''''
--- a/rust/hg-core/src/requirements.rs	Mon Oct 03 14:24:12 2022 +0200
+++ b/rust/hg-core/src/requirements.rs	Tue Oct 04 10:56:27 2022 +0200
@@ -84,6 +84,7 @@
     RELATIVE_SHARED_REQUIREMENT,
     REVLOG_COMPRESSION_ZSTD,
     DIRSTATE_V2_REQUIREMENT,
+    DIRSTATE_TRACKED_HINT_V1,
     // As of this writing everything rhg does is read-only.
     // When it starts writing to the repository, it’ll need to either keep the
     // persistent nodemap up to date or remove this entry:
--- a/rust/rhg/src/main.rs	Mon Oct 03 14:24:12 2022 +0200
+++ b/rust/rhg/src/main.rs	Tue Oct 04 10:56:27 2022 +0200
@@ -749,7 +749,7 @@
         requirements::DIRSTATE_TRACKED_HINT_V1,
     ),
     (
-        ("use-dirstate-v2", "automatic-upgrade-of-mismatching-repositories"),
+        ("format", "use-dirstate-v2.automatic-upgrade-of-mismatching-repositories"),
         ("format", "use-dirstate-v2"),
         requirements::DIRSTATE_V2_REQUIREMENT,
     ),
--- a/tests/test-check-pytype.t	Mon Oct 03 14:24:12 2022 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-#require pytype py3 slow
-
-  $ cd $RUNTESTDIR/..
-
-Many of the individual files that are excluded here confuse pytype
-because they do a mix of Python 2 and Python 3 things
-conditionally. There's no good way to help it out with that as far as
-I can tell, so let's just hide those files from it for now. We should
-endeavor to empty this list out over time, as some of these are
-probably hiding real problems.
-
-mercurial/bundlerepo.py       # no vfs and ui attrs on bundlerepo
-mercurial/context.py          # many [attribute-error]
-mercurial/crecord.py          # tons of [attribute-error], [module-attr]
-mercurial/debugcommands.py    # [wrong-arg-types]
-mercurial/dispatch.py         # initstdio: No attribute ... on TextIO [attribute-error]
-mercurial/exchange.py         # [attribute-error]
-mercurial/hgweb/hgweb_mod.py  # [attribute-error], [name-error], [wrong-arg-types]
-mercurial/hgweb/server.py     # [attribute-error], [name-error], [module-attr]
-mercurial/hgweb/wsgicgi.py    # confused values in os.environ
-mercurial/httppeer.py         # [attribute-error], [wrong-arg-types]
-mercurial/interfaces          # No attribute 'capabilities' on peer [attribute-error]
-mercurial/keepalive.py        # [attribute-error]
-mercurial/localrepo.py        # [attribute-error]
-mercurial/manifest.py         # [unsupported-operands], [wrong-arg-types]
-mercurial/minirst.py          # [unsupported-operands], [attribute-error]
-mercurial/pure/osutil.py      # [invalid-typevar], [not-callable]
-mercurial/pure/parsers.py     # [attribute-error]
-mercurial/repoview.py         # [attribute-error]
-mercurial/testing/storage.py  # tons of [attribute-error]
-mercurial/ui.py               # [attribute-error], [wrong-arg-types]
-mercurial/unionrepo.py        # ui, svfs, unfiltered [attribute-error]
-mercurial/win32.py            # [not-callable]
-mercurial/wireprotoframing.py # [unsupported-operands], [attribute-error], [import-error]
-mercurial/wireprotov1peer.py  # [attribute-error]
-mercurial/wireprotov1server.py  # BUG?: BundleValueError handler accesses subclass's attrs
-
-TODO: use --no-cache on test server?  Caching the files locally helps during
-development, but may be a hinderance for CI testing.
-
-  $ pytype -V 3.7 --keep-going --jobs auto mercurial \
-  >    -x mercurial/bundlerepo.py \
-  >    -x mercurial/context.py \
-  >    -x mercurial/crecord.py \
-  >    -x mercurial/debugcommands.py \
-  >    -x mercurial/dispatch.py \
-  >    -x mercurial/exchange.py \
-  >    -x mercurial/hgweb/hgweb_mod.py \
-  >    -x mercurial/hgweb/server.py \
-  >    -x mercurial/hgweb/wsgicgi.py \
-  >    -x mercurial/httppeer.py \
-  >    -x mercurial/interfaces \
-  >    -x mercurial/keepalive.py \
-  >    -x mercurial/localrepo.py \
-  >    -x mercurial/manifest.py \
-  >    -x mercurial/minirst.py \
-  >    -x mercurial/pure/osutil.py \
-  >    -x mercurial/pure/parsers.py \
-  >    -x mercurial/repoview.py \
-  >    -x mercurial/testing/storage.py \
-  >    -x mercurial/thirdparty \
-  >    -x mercurial/ui.py \
-  >    -x mercurial/unionrepo.py \
-  >    -x mercurial/win32.py \
-  >    -x mercurial/wireprotoframing.py \
-  >    -x mercurial/wireprotov1peer.py \
-  >    -x mercurial/wireprotov1server.py \
-  >  > $TESTTMP/pytype-output.txt || cat $TESTTMP/pytype-output.txt
-
-Only show the results on a failure, because the output on success is also
-voluminous and variable.
--- a/tests/test-issue6528.t	Mon Oct 03 14:24:12 2022 +0200
+++ b/tests/test-issue6528.t	Tue Oct 04 10:56:27 2022 +0200
@@ -177,7 +177,7 @@
   $ cd ..
   $ mkdir repo-to-fix
   $ cd repo-to-fix
-  $ tar -x < $TESTDIR/bundles/issue6528.tar
+  $ tar -xf - < "$TESTDIR"/bundles/issue6528.tar
 
 Check that the issue is present
 (It is currently not present with rhg but will be when optimizations are added
@@ -278,7 +278,7 @@
   $ cd ..
   $ mkdir repo-to-fix-report
   $ cd repo-to-fix
-  $ tar -x < "$TESTDIR"/bundles/issue6528.tar
+  $ tar -xf - < "$TESTDIR"/bundles/issue6528.tar
 
   $ hg debug-repair-issue6528 --to-report $TESTTMP/report.txt
   found affected revision 1 for filelog 'data/D.txt.i'
@@ -365,7 +365,7 @@
 
   $ mkdir repo-to-fix-not-inline
   $ cd repo-to-fix-not-inline
-  $ tar -x < "$TESTDIR"/bundles/issue6528.tar
+  $ tar -xf - < "$TESTDIR"/bundles/issue6528.tar
   $ echo b >> b.txt
   $ hg commit -qm "inline -> separate"
   $ find .hg -name *b.txt.d
--- a/tests/test-logtoprocess.t	Mon Oct 03 14:24:12 2022 +0200
+++ b/tests/test-logtoprocess.t	Tue Oct 04 10:56:27 2022 +0200
@@ -83,10 +83,9 @@
 
 Try to confirm that pager wait on logtoprocess:
 
-Add a script that wait on a file to appears for 5 seconds, if it sees it touch
-another file or die after 5 seconds. If the scripts is awaited by hg, the
-script will die after the timeout before we could touch the file and the
-resulting file will not exists. If not, we will touch the file and see it.
+Add a script that waits on a file to appear. If the script is awaited by hg,
+the script will die after the timeout before we could touch the file and the
+resulting file will not exist. If not, we will touch the file and see it.
 
   $ cat >> fakepager.py <<EOF
   > import sys
@@ -100,15 +99,9 @@
 
   $ cat > $TESTTMP/wait-output.sh << EOF
   > #!/bin/sh
-  > for i in \`$TESTDIR/seq.py 50\`; do
-  >   if [ -f "$TESTTMP/wait-for-touched" ];
-  >   then
-  >     touch "$TESTTMP/touched";
-  >     break;
-  >   else
-  >     sleep 0.1;
-  >   fi
-  > done
+  > set -eu
+  > "$RUNTESTDIR/testlib/wait-on-file" 10 "$TESTTMP/wait-for-touched"
+  > touch "$TESTTMP/touched"
   > EOF
   $ chmod +x $TESTTMP/wait-output.sh
 
@@ -124,6 +117,6 @@
   $ hg version -q --pager=always
   Mercurial Distributed SCM (version *) (glob)
   $ touch $TESTTMP/wait-for-touched
-  $ sleep 0.2
+  $ "$RUNTESTDIR/testlib/wait-on-file" 5 "$TESTTMP/touched"
   $ test -f $TESTTMP/touched && echo "SUCCESS Pager is not waiting on ltp" || echo "FAIL Pager is waiting on ltp"
   SUCCESS Pager is not waiting on ltp
--- a/tests/test-revlog.t	Mon Oct 03 14:24:12 2022 +0200
+++ b/tests/test-revlog.t	Tue Oct 04 10:56:27 2022 +0200
@@ -73,7 +73,7 @@
 - hg commit -Am_
 - remove some cache files
 
-  $ tar -x < "$TESTDIR"/bundles/test-revlog-diff-relative-to-nullrev.tar
+  $ tar -xf - < "$TESTDIR"/bundles/test-revlog-diff-relative-to-nullrev.tar
   $ cd nullrev-diff
   $ hg debugdeltachain a
       rev      p1      p2  chain# chainlen     prev   delta       size    rawsize  chainsize     ratio   lindist extradist extraratio   readsize largestblk rddensity srchunks
--- a/tests/test-status-tracked-key.t	Mon Oct 03 14:24:12 2022 +0200
+++ b/tests/test-status-tracked-key.t	Tue Oct 04 10:56:27 2022 +0200
@@ -227,6 +227,11 @@
   $ hg debugformat -R auto-upgrade | grep tracked
   tracked-hint:       yes
 
+rhg supports this feature
+
+  $ hg status -R auto-upgrade \
+  > --config format.use-dirstate-tracked-hint=yes --config rhg.on-unsupported=abort
+
 downgrade it from dirstate-tracked-hint automatically
 
   $ hg status -R auto-upgrade \