- Jan 14, 2021
-
-
Martin von Zweigbergk authored
Command errors (unknown or ambiguous commands, or bad command arguments or options) are handled in the `dispatch` module. Most other errors are handled in the `scmutil` module. This patch therefore has to duplicate a little bit of code from the `scmutil` module. It's just a few lines, however, so it seems fine to me. It's a pretty common category of errors, so it's important to have them respect `ui.detailed-exit-code`. Differential Revision: https://phab.mercurial-scm.org/D9777
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D9776
-
- Jan 15, 2021
-
-
Augie Fackler authored
The former was deprecated in 3.9.0. Differential Revision: https://phab.mercurial-scm.org/D9791
-
Augie Fackler authored
This is actually what we already do on oss-fuzz, so it's more correct as tests go. Differential Revision: https://phab.mercurial-scm.org/D9790
-
- Jan 14, 2021
-
-
Pierre-Yves David authored
Since issue6150 is still not fixed, we have to accommodate a larger array of possible results. Otherwise we get frequent flakiness of local and CI runs. Differential Revision: https://phab.mercurial-scm.org/D9766
-
- Jan 13, 2021
-
-
Augie Fackler authored
Also only under python 3. Differential Revision: https://phab.mercurial-scm.org/D9752
-
- Jan 08, 2021
-
-
Raphaël Gomès authored
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
-
- Jan 13, 2021
-
-
Pierre-Yves David authored
I am not sure why this `str` all is there is the first place. Differential Revision: https://phab.mercurial-scm.org/D9751
-
- Dec 18, 2020
-
-
Jörg Sonnenberger authored
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
-
- Jan 12, 2021
-
-
Pierre-Yves David authored
This make sure they are will be selected during upgrade, and copy based clone. Differential Revision: https://phab.mercurial-scm.org/D9749
-
- Jan 13, 2021
-
-
Pierre-Yves David authored
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
-
- Jan 12, 2021
-
-
Pierre-Yves David authored
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
-
Pierre-Yves David authored
This is currently buggy. We add a test before fixing the bug. Differential Revision: https://phab.mercurial-scm.org/D9734
-
Pierre-Yves David authored
This is currently buggy. We add a test before fixing the bug. Differential Revision: https://phab.mercurial-scm.org/D9733
-
Pierre-Yves David authored
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
-
Pierre-Yves David authored
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
-
Kyle Lippincott authored
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
-
- Dec 29, 2020
-
-
Dan Villiom Podlaski Christiansen authored
Differential Revision: https://phab.mercurial-scm.org/D9670
-
- Jan 11, 2021
-
-
Dan Villiom Podlaski Christiansen authored
This removes the implicit assumption that all jobs are test runs. Differential Revision: https://phab.mercurial-scm.org/D9723
-
- Dec 21, 2020
-
-
Dan Villiom Podlaski Christiansen authored
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
-
- Dec 08, 2020
-
-
Pulkit Goyal authored
This makes it easier to understand the difference between `writerequires()` and `writereporequirements()`. Differential Revision: https://phab.mercurial-scm.org/D9568
-
- Nov 20, 2020
-
-
Pierre-Yves David authored
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
-
- Dec 28, 2020
-
-
Jörg Sonnenberger authored
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
-
- Jan 08, 2021
-
-
Pulkit Goyal authored
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
-
Pulkit Goyal authored
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
-
Pulkit Goyal authored
`--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
-
- Jan 06, 2021
-
-
Pulkit Goyal authored
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
-
Pulkit Goyal authored
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
-
Pulkit Goyal authored
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
-
- Jan 11, 2021
-
-
Dan Villiom Podlaski Christiansen authored
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
-
- Jan 13, 2021
-
-
Pulkit Goyal authored
This fixes test-check-pyflakes.t Differential Revision: https://phab.mercurial-scm.org/D9747
-
- Jan 08, 2021
-
-
Pulkit Goyal authored
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
-
Pulkit Goyal authored
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
-
- Dec 31, 2020
-
-
Pulkit Goyal authored
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
-
- Jan 12, 2021
-
-
Simon Sapin authored
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
-
- Dec 29, 2020
-
-
Dan Villiom Podlaski Christiansen authored
The file folding map, frequently used on macOS, had two issues: * the means for converting it to Python didn't work * a minor typo when copying the python code, where `!=` became `==` With this, the rust code passes all tests on macOS. Test Plan: I'm currently doing a full test run on a case-insensitive file system. If it passes, perhaps we can change the platform check from an error to a warning? Differential Revision: https://phab.mercurial-scm.org/D9671
-
- Jan 12, 2021
-
-
Pierre-Yves David authored
Otherwise this can use the wrong python version, or worse, not find any python at all. Differential Revision: https://phab.mercurial-scm.org/D9730
-
- Jan 13, 2021
-
-
Martin von Zweigbergk authored
Git is about to change the default branch from "master" to "main". Recent versions has started warning about that, which makes tests fail. I assume the tests would fail in a different way once the default has changed. To make us compatible with that name change, let's set configure the default to be "master". That value makes the tests still work on older Git version (those where the default branch name is not configurable). Differential Revision: https://phab.mercurial-scm.org/D9746
-
- Jan 12, 2021
-
-
Jun Wu authored
This allows handling revlog containing more than 33554432 (INT_MAX / sizeof(nodetreenode)) revisions on x64 platforms. Differential Revision: https://phab.mercurial-scm.org/D9745
-
- Jan 08, 2021
-
-
Pulkit Goyal authored
An upgrade operation which is not adding or removing anything should ideally error out. However, it does the whole cloning and everything. Next patch will fix it. Differential Revision: https://phab.mercurial-scm.org/D9694
-