- May 25, 2022
-
-
Raphaël Gomès authored
-
- May 24, 2022
-
-
Pierre-Yves David authored
Introduce a first basic template to try the feature.
-
Pierre-Yves David authored
Before this, multiple jobs could search the list at the same time and pick the same free channel. We now project this search/assignment with a simple lock.
-
Pierre-Yves David authored
Sending the message about the test being "done" signals to the main thread that a new test can be started. Before this changeset, we sent this signal before freeing the channel, there is room for a race condition where a new test would search for a channel before the old test freed the one it used. This is an example of the failure it would produce: https://foss.heptapod.net/mercurial/mercurial-devel/-/jobs/552404
-
Pierre-Yves David authored
The next patch will do something equivalent, so lets do the change in an independant changeset first in case we need to bisect something in the future.
-
Anton Shestakov authored
From https://docs.python.org/3.8/c-api/arg.html#numbers : i (int) [int] Convert a Python integer to a plain C int. I (int) [unsigned int] Convert a Python integer to a C unsigned int, without overflow checking.
-
- May 17, 2022
-
-
Anton Shestakov authored
The issue says gcc warns that the data types don't match. I couldn't reproduce the warning locally for some reason, but this patch shouldn't break things. Maybe %lu was simply a copy-paste error from 6b1eae313b2f (https://phab.mercurial-scm.org/D10625).
-
- May 22, 2022
-
-
Arseniy Alekseyev authored
returning a valid entry for nullrev fix chain that delta against nullrev.
-
Arseniy Alekseyev authored
We are witnessing a crash in the rust code, so we lets make sure this case is tested.
-
- May 17, 2022
-
-
Matt Harbison authored
Python 3.8.0 is the latest I can load on Ubuntu 18.04, and I regularly hit the TypeError because this function is missing. While it can be avoided by disabling worker usage via config option, that's a bit obscure. I'm limiting the function definition to the narrow range of affected pythons because there were other bugs in this area that were worked around, that I don't fully understand. See the bug report for discussions on why the narrow range, and related commits working around other bugs. Differential Revision: https://phab.mercurial-scm.org/D12627
-
- Apr 06, 2021
-
-
Pierre-Yves David authored
The error now do more than stating what it need. It also state what it got.
-
Pierre-Yves David authored
In the case where tree manifest is not enabled but we still receive an sub directory information for the manifest. The error now inform which sub-directory was passed.
-
- May 04, 2022
-
-
Anton Shestakov authored
The idea and rationale is similar to https://phab.mercurial-scm.org/D12599 (landed as 1b6e381521c5). Differential Revision: https://phab.mercurial-scm.org/D12622
-
Anton Shestakov authored
The idea and rationale is similar to https://phab.mercurial-scm.org/D12599 (landed as 1b6e381521c5). Differential Revision: https://phab.mercurial-scm.org/D12621
-
- May 13, 2022
-
-
Pierre-Yves David authored
This is cleaner and safer. The previous code date from long before we had context manager available.
-
- Apr 05, 2022
-
-
Pierre-Yves David authored
This seems like a fine default behavior for now. If some users wants something more aggressive we can make the behavior configurable in the future. Differential Revision: https://phab.mercurial-scm.org/D12619
-
Pierre-Yves David authored
This show the current behavior when the repository to auto-upgrade is already locked. The current behavior is to abort, which is probably not great. Now that we have a proper test, we can think about the behavior we wants in a later tests. Differential Revision: https://phab.mercurial-scm.org/D12618
-
Pierre-Yves David authored
This make the utility more useful, for example to wait on a lock file. We also add an explicit -L check since the lock are "weird" symlink. Differential Revision: https://phab.mercurial-scm.org/D12617
-
Pierre-Yves David authored
The existing prompt mode simply release the lock immediately in non-interactive mode. That is quite useless in the test so now the non-interactive mode simply wait for a signal. Differential Revision: https://phab.mercurial-scm.org/D12616
-
Pierre-Yves David authored
This show the current behavior when the repository is unlockable. The current behavior is to abort, which is probably not great. Now that we have a proper test, we can think about the behavior we want in a later changeset. Differential Revision: https://phab.mercurial-scm.org/D12615
-
- Mar 22, 2022
-
-
Pierre-Yves David authored
This is similar to what we introduced for `share-safe`, but apply to the tracked-hint feature. Differential Revision: https://phab.mercurial-scm.org/D12614
-
- Apr 05, 2022
-
-
Pierre-Yves David authored
This is similar to what we introduced for `share-safe`, but apply to the tracked-hint feature. Differential Revision: https://phab.mercurial-scm.org/D12613
-
- Apr 04, 2022
-
-
Pierre-Yves David authored
The logic for automatic-upgrade and the upgrade-repo should be able to use the same code. However that code often need an UpgradeOperation object to function. So we start spliting the Operation into a minimal component that we will be able to reuse outside of the "classic" upgrade path. We will put the base-class to use in the next changeset. Differential Revision: https://phab.mercurial-scm.org/D12612
-
- Apr 05, 2022
-
-
Pierre-Yves David authored
This is the first "automatic-upgrade" capability. In the following commits, similar features are coming for other "fast to upgrade" formats. This is different from the `safe-mismatch.source-not-safe` and `safe-mismatch.source-safe` configuration that deal with mismatch between a share and its share-source. Here we are dealing with mismatch between a repository configuration and its actual format. We will need further work for cases were the repository cannot be locked. A basic protection is in place to avoid a infinite loop for now, but it will get proper attention in a later changeset. Differential Revision: https://phab.mercurial-scm.org/D12611
-
- Apr 15, 2022
-
-
Raphaël Gomès authored
These can be used by any client crates (including `rhg`), no need to make them private to the crate. Differential Revision: https://phab.mercurial-scm.org/D12610
-
- May 10, 2022
-
-
Arseniy Alekseyev authored
Before this commit, the file names are /tmp/tmpn8smvlr8 After this commit, they are more like /tmp/hg-clone-n8smvlr8/00manifest.ndb3qj52v6, which makes it much clearer what these files correspond to. Differential Revision: https://phab.mercurial-scm.org/D12623
-
- May 02, 2022
-
-
Anton Shestakov authored
Differential Revision: https://phab.mercurial-scm.org/D12620
-
- May 19, 2022
-
-
Arseniy Alekseyev authored
Use the same algorithm of file append as python does, where we do a manual seek instead of relying on O_APPEND. (see the reasons in the inline comment)
-
- May 13, 2022
-
-
Pierre-Yves David authored
This help changing configuration for everything at the same time. This was initially the case before being dropped by mistake in 0ddd5e1f5f67.
-
- May 19, 2022
-
-
Pierre-Yves David authored
We don't need to recompute the other revlog to add the changelog-v2 feature. This simplify upgrade that use copies-sdc (as shown in the tests).
-
Pierre-Yves David authored
We don't need to recompute the others revlog to add the changelog-v2 feature. This does not have much effect in practice as the `copies-sdc` upgrade still triggers the other revlogs. This will be fixed in the next changeset.
-
Pierre-Yves David authored
To make sure the upgrade simplification we need are taken into account, we need to see more of the output of `debugupgraderepo`. The --quiet flag simplify the output a lot and globing the `preserved` field mean this output should remains stable across (future) unrelated changes.
-
Pierre-Yves David authored
We only need changelog-v2 and its usage is automatically inferred. So we can simplify the test by dropping this. This is important to test future simplification of the update process in the coming changesets.
-
- May 17, 2022
-
-
Arseniy Alekseyev authored
Apparently it's not sufficient to modify a file to force the dirstate write-out, so the append code path was untested. By removing a file instead of changing we're forcing append to happen.
-
- May 16, 2022
-
-
Pierre-Yves David authored
The chg variant of the CI see a failure on `tests/test-narrow-pull.t`. Bisecting point the failure as starting at this small changeset… Backing it out, restore the CI on default. It was never broken on stable, which is even more puzzling.
-
- May 17, 2022
-
-
Raphaël Gomès authored
-
- May 16, 2022
-
-
Pierre-Yves David authored
The fast the phabricator steps has a `rules` entry makes it selected for the special `merge_requests` pipelines. The other ones behave as default and are not selected tot the mrege_request pipelines. This result in a second pipeline to be created, with only the phabricator pipeline in it. Which usually succeed fast (since there is nothing to do). This is harmful as this create a false sense of "the series is passing" and Gitlab will use this simplistic pipeline for validation. By explicitly preventing the pipeline to be created in the merge-request case, we prevent this situation to happens Note that the job will be dropped (alonside phabricator) in the next two weeks anyway.
-
- May 12, 2022
-
-
Martin von Zweigbergk authored
-
Kyle Lippincott authored
When we're recreating the commit that we'll be committing, we don't want to filter our copy information based on just the *new* [versions of the] files we're amending. The test has an example of this case, but for clarity, the situation is: ``` $ hg cp src dst && hg commit <do some work> $ hg amend some_unrelated_file.txt $ hg status --copies A dst A some_unrelated_file.txt ``` What *should* happen is that `dst` should remain marked as a copy of `src`, but this did not previously happen. `matcher` here only includes the files that were specified on the commandline, so it only gets the copy information (if any, in this example there's not) for `some_unrelated_file.txt`. When it goes to apply the memctx to actually create the commit, the file copy information is incomplete and loses the information for the files that shouldn't have been affected at all by the amend. Differential Revision: https://phab.mercurial-scm.org/D12625
-
Kyle Lippincott authored
Differential Revision: https://phab.mercurial-scm.org/D12624
-