- Apr 20, 2021
-
-
Martin von Zweigbergk authored
Each of the steps I added status messages for in this patch frequently take minutes or tens of minutes for our internal users. It would be nice to also have a progress bar but that will have to come later. Differential Revision: https://phab.mercurial-scm.org/D10503
-
Martin von Zweigbergk authored
Looking for local changes (changes not on the given remote) can take a long time, so we should have progress-reporting for it. Differential Revision: https://phab.mercurial-scm.org/D10501
-
- Apr 16, 2021
-
-
Kyle Lippincott authored
If profiling is enabled via global/user config (as far as I can tell, this doesn't affect use of the --profile flag, but it probably does affect --config profiling.enabled=1), then the profiling data can be *cumulative* for the lifetime of the chg process. This leads to some "interesting" results where hg claims the walltime is something like 200s on a command that took only a second or two to run. Worse, however, is that with at least some profilers (such as the default "stat" profiler), this can cause a large slowdown while generating the profiler output. Differential Revision: https://phab.mercurial-scm.org/D10470
-
Kyle Lippincott authored
Differential Revision: https://phab.mercurial-scm.org/D10469
-
- Apr 17, 2021
-
-
Kyle Lippincott authored
This is apparently coming from bash when bash is providing the sh that we're using to execute the .sh file generated by run-tests for this test. Bash on my machine: ``` $ sh --version GNU bash, version 5.1.4(1)-release (x86_64-pc-linux-gnu) Copyright (C) 2020 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. $ sh sh-5.1$ LC_CTYPE=unsupported_value echo hi sh: warning: setlocale: LC_CTYPE: cannot change locale (unsupported_value): No such file or directory hi ``` Differential Revision: https://phab.mercurial-scm.org/D10468
-
- Apr 27, 2021
-
-
Martin von Zweigbergk authored
We now rely on `rewriteutil.precheck()` to check for divergence, so we don't need the extra check in `cmdutil.changebranch()`. The former check is a little less strict in that it allows you to rewrite a commit without non-obsolete successors. Differential Revision: https://phab.mercurial-scm.org/D10519
-
- Feb 23, 2021
-
-
Martin von Zweigbergk authored
This code is adapted from the code in the evolve extension. It seems to be equivalent as far as the evolve extension's test suite can tell (the only impact when making their `precheck()` delegate to our version is that error messages are less detailed). I had to change the error message to work with "change branch of" being inserted as the action. Differential Revision: https://phab.mercurial-scm.org/D10518
-
- Apr 28, 2021
-
-
Martin von Zweigbergk authored
`rewriteutil.precheck()` creates error messages by inserting a given verb into a sentence. The `hg branch -r` command passes in "change branch of" as the verb. That doesn't work well with "cannot %s while merging" (making it "cannot change branch of while merging"). Let's insert a "changeset" there to make it work better. Building sentences like this seems obviously bad for i18n, but fixing that is out of scope for this series, IMO. Differential Revision: https://phab.mercurial-scm.org/D10530
-
- Feb 11, 2021
-
-
Martin von Zweigbergk authored
This replicates the message from the evolve extension. Differential Revision: https://phab.mercurial-scm.org/D10517
-
- Apr 27, 2021
-
-
Martin von Zweigbergk authored
I've taken the text produced by `hg help evolution` when the evolve extension is enabled and made that available by the same command with just hg core. Changes I've made: * Added "(EXPERIMENTAL)" to the title. (That doesn't hide the topic from `hg help`, though.) * Replaced old-style `experimental.evolution=<names>` config by new-style `experimental.evolution.<name>=true`. * Replaces a "obsolete markers" by "obsolescence markers". * Removed most content from "Current feature status". When the evolve extension is enabled, its help text takes precedence. Differential Revision: https://phab.mercurial-scm.org/D10516
-
- Feb 11, 2021
-
-
Martin von Zweigbergk authored
I'm trying to upstream parts from the evolve extension. This check exists there. Differential Revision: https://phab.mercurial-scm.org/D10515
-
- Apr 27, 2021
-
-
Martin von Zweigbergk authored
The evolve extension uses "the null revision" and we seem to use that term much more frequently in core too. Differential Revision: https://phab.mercurial-scm.org/D10514
-
- Mar 28, 2021
-
-
Jörg Sonnenberger authored
The introduction of 256bit hashes require changes to nullid and other constant magic values. Start pushing them down from repository and revlog where sensible. Differential Revision: https://phab.mercurial-scm.org/D9465
-
- Apr 20, 2021
-
-
Matt Harbison authored
Pytype wasn't complaining about this for some reason, but PyCharm was and we already handle another instance of this exception the same way in this function. Differential Revision: https://phab.mercurial-scm.org/D10473
-
- Apr 19, 2021
-
-
Matt Harbison authored
The keyring extension only needs to tweak this tiny section of the larger function. But without any place to intercept the username/password fetching, it copy/pasted the entire function, and has grown a bunch of compatibility hacks to support older versions of Mercurial as well. Differential Revision: https://phab.mercurial-scm.org/D10471
-
- Apr 20, 2021
-
-
Pierre-Yves David authored
There are "temporary" local file that we should not be transfered by `walk` user like local clone and stream clone. This fix the small issue that the new tests highlighted. Differential Revision: https://phab.mercurial-scm.org/D10482
-
Pierre-Yves David authored
The nodemap related file might change (or get deleted) during the stream clone in a way incompatible with the streaming process. So we introduce a new flag for this type of file and integrate it with the existing `revlog_type` field recently added to `store.walk` returns. We use that new flat to dispatch such file to the existing mechanism for "atomic replacement" file for the nodemap docket and datafile. This fix the bugs we have been adding tests for. Strictly speaking, the nodemap datafile is happened only a could maybe be used in a slightly more efficient way, however this is good enough for now. Differential Revision: https://phab.mercurial-scm.org/D10481
-
- Apr 19, 2021
-
-
Pierre-Yves David authored
When the nodemap "vacuum" it generate a new datafile, with a new unique name and delete the old one. This confuse the stream clone code and create the same kind of crash we were seeing in the previous patch. We build a test case where this happens. The next changeset will contains a fix We can also notice that we are, wrongfully exchanging `undo.*` files that the client will not be able to use. This will be dealt with soon. Differential Revision: https://phab.mercurial-scm.org/D10480
-
Pierre-Yves David authored
That test show that the resulting client nodemap is different from the server one. This happens because the server one transferred a corrupted node map. The data file match the pre-commit content while the docket has post commit content. As the result the nodemap was detected invalid and recomputed. When running without the rust implementation, the code is also generating a new datafile unconditionally, This mean the older file is no longer there are transfer time, resulting in a crash. We will fix this issue later, but we start with writing tests highlighting the issue. Differential Revision: https://phab.mercurial-scm.org/D10479
-
Pierre-Yves David authored
Sleep based test synchronisation does not work. Variation in machine performance and load can make the two process miss their windows. Instead we migrate to explicit signaling through the file system as other tests file are using. Differential Revision: https://phab.mercurial-scm.org/D10478
-
Pierre-Yves David authored
The function is kinda trivial, but having a simple function avoid silly mistake. Differential Revision: https://phab.mercurial-scm.org/D10477
-
Pierre-Yves David authored
This is similar to `tests/testlib/wait-on-file`, but for the python code Differential Revision: https://phab.mercurial-scm.org/D10476
-
Pierre-Yves David authored
Code can be buggy, in that case having error message tend to help. Differential Revision: https://phab.mercurial-scm.org/D10475
-
- Apr 20, 2021
-
-
Matt Harbison authored
Differential Revision: https://phab.mercurial-scm.org/D10484
-
Martin von Zweigbergk authored
In my recent D10465, I moved some code over from scmutil into `OutOfBandError.__init__`. The code was written to deal with an arbitrary number of `message` arguments to the constructor. It turns out that we only ever pass 0 or 1. Given that, let's simplify it. Differential Revision: https://phab.mercurial-scm.org/D10483
-
- Apr 19, 2021
-
-
Pierre-Yves David authored
Phabricator make it hard to spot the branch information. As a result patch intended for stable are consistently queued for default. We add a special command and flashy GIF to try to attract reviewer attention on the fact patch are intended for stable. Differential Revision: https://phab.mercurial-scm.org/D10464
-
Pierre-Yves David authored
This make the script more readable and it is about to become more complex. Differential Revision: https://phab.mercurial-scm.org/D10463
-
Martin von Zweigbergk authored
Something got stricter at parsing URL query parameters and now the parameters need to be separated by "&"; ";" is no longer allowed. See issue6504 for details. Differential Revision: https://phab.mercurial-scm.org/D10472
-
Martin von Zweigbergk authored
This is part of https://www.mercurial-scm.org/wiki/ErrorCategoriesPlan Differential Revision: https://phab.mercurial-scm.org/D10467
-
Martin von Zweigbergk authored
Having an exception for remote errors makes it much easier to exit with the right detailed exit code. Differential Revision: https://phab.mercurial-scm.org/D10466
-
Martin von Zweigbergk authored
I'm about to create a new `RemoteError` exception and make `OutOfBandError` extend it. This patch prepares for that. Differential Revision: https://phab.mercurial-scm.org/D10465
-
- Apr 05, 2021
-
-
Pierre-Yves David authored
The `revlogio` class is mostly a relic from the past. Once in charge of the full revlog related Input/Output code, that class gradually lost responsibilities to the point where more IO are now done by `revlog.index` objects or revlog objects themself. I would like to ultimately remove the `revlogio` class, to do so I start simple with move the "entry size" information on the index. (The index is already responsible of the binary unpacking, so it knows the size. Differential Revision: https://phab.mercurial-scm.org/D10309
-
- Apr 14, 2021
-
-
Pierre-Yves David authored
This performance command now use the new API, unless the benchmarked Mercurial is older. Differential Revision: https://phab.mercurial-scm.org/D10423
-
- Apr 13, 2021
-
-
Aay Jay Chan authored
Differential Revision: https://phab.mercurial-scm.org/D10400
-
- Apr 16, 2021
-
-
Pierre-Yves David authored
If the file is too small, the mmapread call would raise a ValueError. We catch that and ignore nodemap content (as we do without mmap). This make the repository slightly slower (until the next write) but usable. Unlike the current crash. Differential Revision: https://phab.mercurial-scm.org/D10458
-
Pierre-Yves David authored
Corruption can happens in the wild, either because some of our code is buggy or because repository were shared/transfered in a strange manners. Currently one of the corruption case (not enough data) lead to a crash. We add explicit tests for theses cases. Differential Revision: https://phab.mercurial-scm.org/D10457
-
- Apr 17, 2021
-
-
Matt Harbison authored
I happened to notice that PyCharm flagged this while looking for something else. I'm pretty sure it meant to check the current state in the iteration, and not keep reusing the last one in the previous iteration. Differential Revision: https://phab.mercurial-scm.org/D10459
-
- Apr 05, 2021
-
-
Aay Jay Chan authored
Differential Revision: https://phab.mercurial-scm.org/D10399
-
- Apr 01, 2021
-
-
Aay Jay Chan authored
Most of them have "$" prefix but some don't, so adding it for consistency. Differential Revision: https://phab.mercurial-scm.org/D10398
-
- Apr 15, 2021
-
-
Pierre-Yves David authored
There is not `ui.expandpath` call there anymore. Differential Revision: https://phab.mercurial-scm.org/D10435
-