Wed, 13 Jan 2021 15:44:24 -0500 fuzz: try and ensure fuzzer tests run against the right python-config
Augie Fackler <augie@google.com> [Wed, 13 Jan 2021 15:44:24 -0500] rev 46257
fuzz: try and ensure fuzzer tests run against the right python-config Also only under python 3. Differential Revision: https://phab.mercurial-scm.org/D9752
Fri, 08 Jan 2021 16:25:18 +0100 contrib: remove testing for `dirstate-tree` Rust feature
Raphaël Gomès <rgomes@octobus.net> [Fri, 08 Jan 2021 16:25:18 +0100] rev 46256
contrib: remove testing for `dirstate-tree` Rust feature This feature will be replaced in a few months, and served more as a proof-of-concept. Keeping it in CI when no one is using it anymore is just wasteful. Differential Revision: https://phab.mercurial-scm.org/D9716
Wed, 13 Jan 2021 17:21:51 +0100 perf: don't turn byte to string when formatting perfbranchmap
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 13 Jan 2021 17:21:51 +0100] rev 46255
perf: don't turn byte to string when formatting perfbranchmap I am not sure why this `str` all is there is the first place. Differential Revision: https://phab.mercurial-scm.org/D9751
Fri, 18 Dec 2020 14:45:28 +0100 branchmap: avoid ancestor computations in absence of non-continous branches
Joerg Sonnenberger <joerg@bec.de> [Fri, 18 Dec 2020 14:45:28 +0100] rev 46254
branchmap: avoid ancestor computations in absence of non-continous branches The branchhead computation is one of the more heavy operations for bigger repositories as it has to scan all changesets and potentially involves the expensive computation of the ancestor sets. Redo the computation to handle the common cases directly and use tighter conditions for when the ancestor scan is necessary. Most importantly, avoid it completely if the non-continous branches are processed in one update as seen in the initial computation after a clone. For the Mercurial repository, it gives a small 2-3% performance boost. For the NetBSD test repository, it cuts the time in half. Differential Revision: https://phab.mercurial-scm.org/D9631
Tue, 12 Jan 2021 19:49:18 +0100 persistent-nodemap: also list related file as part of the store
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Jan 2021 19:49:18 +0100] rev 46253
persistent-nodemap: also list related file as part of the store This make sure they are will be selected during upgrade, and copy based clone. Differential Revision: https://phab.mercurial-scm.org/D9749
Wed, 13 Jan 2021 12:50:47 +0100 upgrade: explicitly test for revlog index
Pierre-Yves David <pierre-yves.david@octobus.net> [Wed, 13 Jan 2021 12:50:47 +0100] rev 46252
upgrade: explicitly test for revlog index We do not want to exclude `.d` we want to only include `.i`. We are about to add more extension type (for the persistent nodemap: `.n`, `.nd`) so lets make the list explicit instead. Differential Revision: https://phab.mercurial-scm.org/D9748
Tue, 12 Jan 2021 19:47:34 +0100 persistent-nodemap: highlight that node is not sent when streaming
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Jan 2021 19:47:34 +0100] rev 46251
persistent-nodemap: highlight that node is not sent when streaming We have a local work-around, however having that data sent in the first place would be better. So we start with a test that monitor what is sent, and notice they are not. Differential Revision: https://phab.mercurial-scm.org/D9736
Tue, 12 Jan 2021 18:13:55 +0100 persistent-nodemap: test it (does not) exist after a stream clone
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Jan 2021 18:13:55 +0100] rev 46250
persistent-nodemap: test it (does not) exist after a stream clone This is currently buggy. We add a test before fixing the bug. Differential Revision: https://phab.mercurial-scm.org/D9734
Tue, 12 Jan 2021 18:19:17 +0100 persistent-nodemap: test it (does not) exist after a local clone
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Jan 2021 18:19:17 +0100] rev 46249
persistent-nodemap: test it (does not) exist after a local clone This is currently buggy. We add a test before fixing the bug. Differential Revision: https://phab.mercurial-scm.org/D9733
Tue, 12 Jan 2021 18:19:01 +0100 persistent-nodemap: test that is it present after a clone
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Jan 2021 18:19:01 +0100] rev 46248
persistent-nodemap: test that is it present after a clone The persistent nodemap is actually missing after local and stream clone. We start by adding a test for the case that works so that we can compare output after the fix. Differential Revision: https://phab.mercurial-scm.org/D9732
Tue, 12 Jan 2021 23:27:24 +0100 narrow: overwrite readfast in excludeddirmanifestctx
Pierre-Yves David <pierre-yves.david@octobus.net> [Tue, 12 Jan 2021 23:27:24 +0100] rev 46247
narrow: overwrite readfast in excludeddirmanifestctx The excludeddirmanifestctx does not have underlying storage (because it is excluded) so the implementation of the `readfast` trying to access it crash. This was reveled while running some cache warning code on narrow repositories. That code will be introduced further down in the series. Differential Revision: https://phab.mercurial-scm.org/D9731
Mon, 11 Jan 2021 17:46:55 -0800 patch: handle filenames with trailing spaces
Kyle Lippincott <spectral@google.com> [Mon, 11 Jan 2021 17:46:55 -0800] rev 46246
patch: handle filenames with trailing spaces I have no idea if this is *actually* supported by the patch file format, but at least when reading from a patch file created by running `hg shelve`, it is written out such that there's a trailing space after the second (`b`) filename. When we read the patch file, we remove the space before parsing the filenames, so it doesn't end up matching the other sources of what files are in the shelve. We observed this internally due to a wrapper around unshelve that called into patch.changedfiles, but `hg patch` is able to reproduce the issue as well, so I've included both tests. Differential Revision: https://phab.mercurial-scm.org/D9729
Tue, 29 Dec 2020 23:15:26 +0100 rust: fix testing with $TMPDIR ≠ /tmp
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Tue, 29 Dec 2020 23:15:26 +0100] rev 46245
rust: fix testing with $TMPDIR ≠ /tmp Differential Revision: https://phab.mercurial-scm.org/D9670
Mon, 11 Jan 2021 15:16:36 +0100 ci: avoid a global before_script definition
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 11 Jan 2021 15:16:36 +0100] rev 46244
ci: avoid a global before_script definition This removes the implicit assumption that all jobs are test runs. Differential Revision: https://phab.mercurial-scm.org/D9723
Mon, 21 Dec 2020 15:50:01 +0100 setup: when possible, build and bundle man pages
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 21 Dec 2020 15:50:01 +0100] rev 46243
setup: when possible, build and bundle man pages This makes it so the manual pages are built as part of the Python build, and includes them in any wheel generated. This should make Python wheels a much more useful and complete way of distributing Mercurial binaries. Differential Revision: https://phab.mercurial-scm.org/D9640
Tue, 08 Dec 2020 16:41:13 +0530 scmutil: improve documentation of writereporequirements()
Pulkit Goyal <7895pulkit@gmail.com> [Tue, 08 Dec 2020 16:41:13 +0530] rev 46242
scmutil: improve documentation of writereporequirements() This makes it easier to understand the difference between `writerequires()` and `writereporequirements()`. Differential Revision: https://phab.mercurial-scm.org/D9568
Fri, 20 Nov 2020 08:02:25 +0100 command: automatically create alias for command using '-' in names
Pierre-Yves David <pierre-yves.david@octobus.net> [Fri, 20 Nov 2020 08:02:25 +0100] rev 46241
command: automatically create alias for command using '-' in names As discussed during the "5.6 Sprint" ignoring dash in command name open the way to using them more. We can now move existing command to more readable (dash using) names without breaking any compatibility. Differential Revision: https://phab.mercurial-scm.org/D9515
Mon, 28 Dec 2020 01:05:09 +0100 worker: POSIX only supports workers from main thread (issue6460)
Joerg Sonnenberger <joerg@bec.de> [Mon, 28 Dec 2020 01:05:09 +0100] rev 46240
worker: POSIX only supports workers from main thread (issue6460) The POSIX backend sets signal handlers for SIGINT (maybe avoidable) and SIGCHLD (necessary for waitpid). Python up to 3.9 only allow this from the main thread, so disable the worker feature otherwise. Differential Revision: https://phab.mercurial-scm.org/D9660
Fri, 08 Jan 2021 21:47:31 +0530 sharesafe: introduce config to disallow outdated shares if upgrade fails
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jan 2021 21:47:31 +0530] rev 46239
sharesafe: introduce config to disallow outdated shares if upgrade fails After this patch, we have config option to control all aspects of shares when share source is upgraded or downgraded. Differential Revision: https://phab.mercurial-scm.org/D9692
Fri, 08 Jan 2021 21:34:16 +0530 sharesafe: make warning about outdated share configurable
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jan 2021 21:34:16 +0530] rev 46238
sharesafe: make warning about outdated share configurable If the source repository upgrades to use sharesafe mode, we show a warning in shares. This patch makes that warning configurable and some might not want their users see this warning. Differential Revision: https://phab.mercurial-scm.org/D9691
Fri, 08 Jan 2021 18:07:33 +0530 debuglock: rename flag names to better clarity
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jan 2021 18:07:33 +0530] rev 46237
debuglock: rename flag names to better clarity `--force-lock` sounds as if we are taking the lock however in reality it's the opposite. Differential Revision: https://phab.mercurial-scm.org/D9690
Wed, 06 Jan 2021 18:31:16 +0530 sharesafe: add functionality to automatically downgrade shares
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jan 2021 18:31:16 +0530] rev 46236
sharesafe: add functionality to automatically downgrade shares Reasoning is same as previous patch which adds automatic upgrade support. Downgrade is required as if automatic upgrade is enabled, all shares upgrade and then source repository downgrades, shares won't work. We need to downgrade them. Differential Revision: https://phab.mercurial-scm.org/D9680
Wed, 06 Jan 2021 16:18:06 +0530 sharesafe: introduce functionality to automatically upgrade shares
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jan 2021 16:18:06 +0530] rev 46235
sharesafe: introduce functionality to automatically upgrade shares In past few months, we have developed a `share-safe` mode for sharing repository in which share source requirements and config values are shared with the shares. To get it rolling, an important task is to get these shares automatically upgraded. We are focusing on an installation where shares are created by scripts and test jobs. It will be difficult to manually upgrade these and we need some functionality to do so automatically. This patch introduces a config option to deal with it. If all of the following conditions are met, we upgrade the share repository automatically: * If the config option is enabled * Share source repository is share-safe enabled * Share is not share-safe enabled * Any command is run in the share Upgrading the share is pretty easy as it involves only editing the requirements file. Differential Revision: https://phab.mercurial-scm.org/D9679
Wed, 06 Jan 2021 16:01:19 +0530 localrepo: move storevfs calculation out of if statement
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 06 Jan 2021 16:01:19 +0530] rev 46234
localrepo: move storevfs calculation out of if statement In next patch, we will need this variable in else statement too. So, let's take it out. Differential Revision: https://phab.mercurial-scm.org/D9681
Mon, 11 Jan 2021 13:48:13 +0100 setup: don't import distutils prior to checking FORCE_SETUPTOOLS
Dan Villiom Podlaski Christiansen <danchr@gmail.com> [Mon, 11 Jan 2021 13:48:13 +0100] rev 46233
setup: don't import distutils prior to checking FORCE_SETUPTOOLS I've seen warnings about importing distutils before setuptools, although I can't reproduce them at the moment. Differential Revision: https://phab.mercurial-scm.org/D9722
Wed, 13 Jan 2021 15:42:15 +0530 largefiles: remove unused imports
Pulkit Goyal <7895pulkit@gmail.com> [Wed, 13 Jan 2021 15:42:15 +0530] rev 46232
largefiles: remove unused imports This fixes test-check-pyflakes.t Differential Revision: https://phab.mercurial-scm.org/D9747
Fri, 08 Jan 2021 23:08:39 +0530 upgrade: don't perform anything if nothing to do
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jan 2021 23:08:39 +0530] rev 46231
upgrade: don't perform anything if nothing to do Before this patch, upgrade will process everything, re-clone all revlogs, write requirements file again even there is no change to be made. This patch makes it exit earlier. Differential Revision: https://phab.mercurial-scm.org/D9695
Fri, 08 Jan 2021 23:06:38 +0530 downgrade: if a compression is removed, consider that too
Pulkit Goyal <7895pulkit@gmail.com> [Fri, 08 Jan 2021 23:06:38 +0530] rev 46230
downgrade: if a compression is removed, consider that too For compression format variant, the result of `fromrepo()` and `fromconfig()` is not a boolean and we have to actually equate those to find change. Differential Revision: https://phab.mercurial-scm.org/D9693
Thu, 31 Dec 2020 14:28:00 +0530 engine: prevent a function call for each store file
Pulkit Goyal <7895pulkit@gmail.com> [Thu, 31 Dec 2020 14:28:00 +0530] rev 46229
engine: prevent a function call for each store file Python function calls are not cheap. Instead of calling the function once for each file in store, we use a dedicated function which filters and yields the required files. Differential Revision: https://phab.mercurial-scm.org/D9673
Tue, 12 Jan 2021 18:36:22 +0100 rhg: use a release-mode executable in tests
Simon Sapin <simon.sapin@octobus.net> [Tue, 12 Jan 2021 18:36:22 +0100] rev 46228
rhg: use a release-mode executable in tests This allows the rhg build for test-rhg.t to share compiled dependencies such as hg-core with the hg-cpython build for other tests. For context, my wrapper script for the typical edit-compile-test cycle now looks like this: (cd rust && cargo +nightly-2020-10-04 fmt) (cd rust && cargo build --release -p rhg) make --silent local PURE=--rust python test/run-tests.py --local "$@" Differential Revision: https://phab.mercurial-scm.org/D9728
(0) -30000 -10000 -3000 -1000 -300 -100 -50 -30 +30 +50 +100 +300 +1000 +3000 tip