diff --git a/.hgsigs b/.hgsigs --- a/.hgsigs +++ b/.hgsigs @@ -233,3 +233,4 @@ 288de6f5d724bba7bf1669e2838f196962bb7528 094a5fa3cf52f936e0de3f1e507c818bee5ece6b 0 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 diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -246,3 +246,4 @@ 288de6f5d724bba7bf1669e2838f196962bb7528 094a5fa3cf52f936e0de3f1e507c818bee5ece6b 6.2 f69bffd00abe3a1b94d1032eb2c92e611d16a192 6.2.1 b5c8524827d20fe2e0ca8fb1234a0fe35a1a36c7 6.2.2 +dbdee8ac3e3fcdda1fa55b90c0a235125b7f8e6f 6.2.3 diff --git a/tests/test-check-pytype.t b/contrib/check-pytype.sh old mode 100644 new mode 100755 rename from tests/test-check-pytype.t rename to contrib/check-pytype.sh --- a/tests/test-check-pytype.t +++ b/contrib/check-pytype.sh @@ -1,71 +1,72 @@ -#require pytype py3 slow - - $ cd $RUNTESTDIR/.. +#!/bin/sh -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. +set -e +set -u + +cd `hg root` -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. +# 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 - $ 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 +# 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 -Only show the results on a failure, because the output on success is also -voluminous and variable. +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 diff --git a/contrib/heptapod-ci.yml b/contrib/heptapod-ci.yml --- a/contrib/heptapod-ci.yml +++ b/contrib/heptapod-ci.yml @@ -90,11 +90,11 @@ check-pytype: - 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 diff --git a/contrib/packaging/requirements-windows-py3.txt b/contrib/packaging/requirements-windows-py3.txt --- a/contrib/packaging/requirements-windows-py3.txt +++ b/contrib/packaging/requirements-windows-py3.txt @@ -16,10 +16,6 @@ cached-property==1.5.2 \ --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 @@ docutils==0.16 \ --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 diff --git a/relnotes/6.2 b/relnotes/6.2 --- a/relnotes/6.2 +++ b/relnotes/6.2 @@ -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''''' diff --git a/rust/hg-core/src/requirements.rs b/rust/hg-core/src/requirements.rs --- a/rust/hg-core/src/requirements.rs +++ b/rust/hg-core/src/requirements.rs @@ -84,6 +84,7 @@ const SUPPORTED: &[&str] = &[ 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: diff --git a/rust/rhg/src/main.rs b/rust/rhg/src/main.rs --- a/rust/rhg/src/main.rs +++ b/rust/rhg/src/main.rs @@ -749,7 +749,7 @@ const AUTO_UPGRADES: &[((&str, &str), (& 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, ), diff --git a/tests/test-issue6528.t b/tests/test-issue6528.t --- a/tests/test-issue6528.t +++ b/tests/test-issue6528.t @@ -177,7 +177,7 @@ It's a tarball because unbundle might ma $ 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 @@ Try the using the report options $ 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 @@ Try it with a non-inline revlog $ 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 diff --git a/tests/test-logtoprocess.t b/tests/test-logtoprocess.t --- a/tests/test-logtoprocess.t +++ b/tests/test-logtoprocess.t @@ -83,10 +83,9 @@ Confirm that logging blocked time catche 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 < import sys @@ -100,15 +99,9 @@ resulting file will not exists. If not, $ 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 @@ resulting file will not exists. If not, $ 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 diff --git a/tests/test-revlog.t b/tests/test-revlog.t --- a/tests/test-revlog.t +++ b/tests/test-revlog.t @@ -73,7 +73,7 @@ This is what we did to produce the repo - 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 diff --git a/tests/test-status-tracked-key.t b/tests/test-status-tracked-key.t --- a/tests/test-status-tracked-key.t +++ b/tests/test-status-tracked-key.t @@ -227,6 +227,11 @@ upgrade it to dirstate-tracked-hint auto $ 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 \