- Aug 24, 2021
-
-
Pierre-Yves David authored
The method was deprecated in 5.9. Differential Revision: https://phab.mercurial-scm.org/D11347
-
Pierre-Yves David authored
The method was deprecated in 5.9. Differential Revision: https://phab.mercurial-scm.org/D11346
-
Pierre-Yves David authored
The method was deprecated in 5.9. Differential Revision: https://phab.mercurial-scm.org/D11345
-
Pierre-Yves David authored
The method was deprecated in 5.9. Differential Revision: https://phab.mercurial-scm.org/D11344
-
Pierre-Yves David authored
The goal of this is to make sure we set the data right, so we need to make sure it run after the new method, that we actually call, in addition to the old one, that we no longer call. Differential Revision: https://phab.mercurial-scm.org/D11343
-
- Aug 20, 2021
-
-
Pierre-Yves David authored
This seems more consistent to do that. I don't think any test was actually barking about it, but the code feels a bit more robust now. Differential Revision: https://phab.mercurial-scm.org/D11332
-
- Jul 16, 2021
-
-
Pierre-Yves David authored
All that logic now moved within the DirstateItem itself, so we can finally drop this implementation details from the "higher" level. Differential Revision: https://phab.mercurial-scm.org/D11331
-
Pierre-Yves David authored
This way the internal details of how a DirstateItem is encoded is encapsulated within the DirstateItem. This will finally give use some latitude to change the data we store in a DirstateItem. The addfile logic will likely be rewritten eventually and these dedicated constructor can be removed at that time. In the mean-time this should help with hiding internal details of DirstateItem and to migrate it to new internal storage and logic. Differential Revision: https://phab.mercurial-scm.org/D11330
-
Pierre-Yves David authored
This simplify the conditionnal a bit since most of it is handled by the common code. Differential Revision: https://phab.mercurial-scm.org/D11329
-
Pierre-Yves David authored
This one is very easy too. Differential Revision: https://phab.mercurial-scm.org/D11328
-
Pierre-Yves David authored
This one is very easy. Differential Revision: https://phab.mercurial-scm.org/D11327
-
Pierre-Yves David authored
This simplify the conditionnal a bit since most of it is handled by the common code. Differential Revision: https://phab.mercurial-scm.org/D11326
-
Pierre-Yves David authored
We juste have to do minor value adjustement and the default code will do the rest. This kind of change highglight that "clean_p2" is probably not the right name, for that value. However this is all thing to be figured out and cleaned up once are done moving logic at lower level. Differential Revision: https://phab.mercurial-scm.org/D11325
-
Pierre-Yves David authored
This case is quite simple too Differential Revision: https://phab.mercurial-scm.org/D11324
-
Pierre-Yves David authored
This case is quite simple. Differential Revision: https://phab.mercurial-scm.org/D11323
-
Pierre-Yves David authored
Now the DirstateItem can deal with most of the logic related to its initialization, our goal is to migrate the function to a more "unified" way were minimal processing is done early before more generic code gets into play. Nobody is calling this code yet, but this is about to change. Differential Revision: https://phab.mercurial-scm.org/D11322
-
Pierre-Yves David authored
We are about to migrate `addfile` to the new `DirstateItem__init__` and having these early return will the new series of patches to be clearer. Differential Revision: https://phab.mercurial-scm.org/D11321
-
Pierre-Yves David authored
Instead of processing the "rich" value at the `dirstatemap` level, we can now directly pass them to the DirstateItem object. This will make the object free to store whatever its want and to implements it logic whatever its want. For now… we simply process the flag and store the same good old value. However this pave the way for doing things differently once the rest of dirstatemap code is updated. Nobody call this code yet. Differential Revision: https://phab.mercurial-scm.org/D11320
-
- Aug 20, 2021
-
-
Pierre-Yves David authored
We are about to change the `__init__` for `DirstateItem`. To make the transition easier, we move existing caller to `DirstateItem.from_v1_data`. The Rust dirstate map will need an overall once the durst settle anyway. Differential Revision: https://phab.mercurial-scm.org/D11319
-
- Jul 16, 2021
-
-
Pierre-Yves David authored
We are about to change the `__init__` for `DirstateItem`. To make the transition easier, we move existing caller to `DirstateItem.from_v1_data`. Differential Revision: https://phab.mercurial-scm.org/D11318
-
- Aug 20, 2021
-
-
Pierre-Yves David authored
This method is apparently not called from anywhere since the declaration was garbage. We will start calling it in the next changeset. Differential Revision: https://phab.mercurial-scm.org/D11317
-
Pierre-Yves David authored
These are property, not method. Differential Revision: https://phab.mercurial-scm.org/D11316
-
Pierre-Yves David authored
All the other caller goes through `reset_state`, so we can safely have an explicit method on `DirstateItem` object. This means that all the logic to preserve the previous state (from p2, merged, etc) is now properly encapsulated within the DirstateItem. This pave the way to using different storage for these information. Differential Revision: https://phab.mercurial-scm.org/D11315
-
Pierre-Yves David authored
The `_remove` method was only called in the deprecated `remove` function. We merge the two and express it in terms of call to new API methods. Differential Revision: https://phab.mercurial-scm.org/D11314
-
- Aug 25, 2021
-
-
Raphaël Gomès authored
-
- Aug 02, 2021
-
-
sliquister authored
Various walk functions return `(revlog_type, decoded, encoded)` where decoded could be None. But no-one cares about `encoded` and expects `unencoded` to be present, except verify (because this can only happen with old repo formats). Simplify all this by either failing outright if a decoding a filename fails (instead of almost certainly failing with a type error due to treating None as a bytes), or skipping the filename but providing in an out argument for hg verify. Differential Revision: https://phab.mercurial-scm.org/D11248
-
- Aug 01, 2021
-
-
sliquister authored
as clone --uncompressed is deprecated in favor of --stream Differential Revision: https://phab.mercurial-scm.org/D11237
-
- Aug 06, 2021
-
-
Valentin Gatien-Baron authored
On my repository, debugrebuildfncache takes 5-10min with the lock. With the flag added in this commit, it takes 10s. The tradeoff is that it only recovers from certain kinds of corruptions. It is intended to to recover faster from fncaches broken by a revlog split during a transaction that ends up being rolled back. Differential Revision: https://phab.mercurial-scm.org/D11265
-
Valentin Gatien-Baron authored
Differential Revision: https://phab.mercurial-scm.org/D11264
-
- Aug 24, 2021
-
-
sliquister authored
If desired, we could keep the future class and the function that upgrades an old style rpc instead of a new style, for extensions. Differential Revision: https://phab.mercurial-scm.org/D11212
-
sliquister authored
The scheme with futures/generator is confusing due to the way communication is done by side effects, especially with two different "future" objects. Just returning a request and a function to read the response is easier to understand. There are tests failures with the largefiles extension due to it aliasing one rpc to another one, which gets fixed in the next commit. Differential Revision: https://phab.mercurial-scm.org/D11211
-
- Aug 25, 2021
-
-
Pierre-Yves David authored
The store encoding was mudding the water. This lead to local clone crashing for file with long filename as their destination directory needed to be encoded. Differential Revision: https://phab.mercurial-scm.org/D11340
-
Pierre-Yves David authored
This is quite noisy so we adds it in its own changeset. Fixes for the issue are coming in the next patch. Differential Revision: https://phab.mercurial-scm.org/D11339
-
Pierre-Yves David authored
This will help detecting corruption. Differential Revision: https://phab.mercurial-scm.org/D11338
-
Pierre-Yves David authored
Touching `test-clone-stream.t` is very painful otherwise. Differential Revision: https://phab.mercurial-scm.org/D11337
-
Pierre-Yves David authored
Differential Revision: https://phab.mercurial-scm.org/D11336
-
- Aug 22, 2021
-
-
Matt Harbison authored
While waiting for the push to hg-committed in WSL to complete, I ran a `phabimport` from Windows and got this traceback: $ hg phabimport 11313 ** Unknown exception encountered with possibly-broken third-party extension "mercurial_keyring" (version N/A) ** which supports versions unknown of Mercurial. ** Please disable "mercurial_keyring" and try your action again. ** If that fixes the bug please report it to https://foss.heptapod.net/mercurial/mercurial_keyring/issues ** Python 3.9.5 (default, May 6 2021, 17:29:31) [MSC v.1928 64 bit (AMD64)] ** Mercurial Distributed SCM (version 5.9rc1+hg32.0e2f5733563d) ** Extensions loaded: absorb, blackbox, evolve 10.3.3, extdiff, fastannotate, fix, mercurial_keyring, mq, phabblocker 20210126, phabricator, rebase, show, strip, topic 0.22.3 Traceback (most recent call last): File "mercurial.lock", line 279, in _trylock File "mercurial.vfs", line 202, in makelock File "mercurial.util", line 2147, in makelock FileExistsError: [WinError 183] Cannot create a file when that file already exists: b'hp-omen:78348' -> b'C:\\Users\\Matt\\hg/.hg/store/lock' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "<string>", line 24, in <module> File "mercurial.dispatch", line 144, in run File "mercurial.dispatch", line 250, in dispatch File "mercurial.dispatch", line 294, in _rundispatch File "mercurial.dispatch", line 470, in _runcatch File "mercurial.dispatch", line 480, in _callcatch File "mercurial.scmutil", line 153, in callcatch File "mercurial.dispatch", line 460, in _runcatchfunc File "mercurial.dispatch", line 1273, in _dispatch File "mercurial.dispatch", line 918, in runcommand File "mercurial.dispatch", line 1285, in _runcommand File "mercurial.dispatch", line 1271, in <lambda> File "mercurial.util", line 1886, in check File "mercurial.util", line 1886, in check File "hgext.mq", line 4239, in mqcommand File "mercurial.util", line 1886, in check File "mercurial.util", line 1886, in check File "hgext.phabricator", line 314, in inner File "hgext.phabricator", line 2222, in phabimport File "hgext.phabricator", line 2123, in readpatch File "hgext.phabricator", line 2199, in _write File "mercurial.localrepo", line 2956, in lock File "mercurial.localrepo", line 2918, in _lock File "mercurial.lock", line 152, in trylock File "mercurial.lock", line 283, in _trylock File "mercurial.lock", line 314, in _readlock File "mercurial.vfs", line 221, in readlock File "mercurial.util", line 2163, in readlock File "mercurial.windows", line 619, in readlink ValueError: not a symbolic link Both exceptions look accurate (the file exists, and the Windows side can't read WSL side symlinks). I didn't try to reproduce this entirely within the Windows side, but we can do better than a cryptic stacktrace. With this change, the same scenario results in this abort: abort: C:\Users\Matt\hg/.hg/store/lock: The file cannot be accessed by the system When both the `push` and `phabimport` are done on the Windows side, it prints a message about waiting for the lock, and successfully applies the patch after the push completes. I'm not sure if there's enough info to be able to convert the abort into the wait scenario. As it stands now, we don't support symlinks on Windows, which requires either a UAC Administrator level process or an opt-in in developer mode, and there are several places where the new symlink on Windows support in py3 was explicitly disabled in order to get tests to pass quicker. Differential Revision: https://phab.mercurial-scm.org/D11333
-
- Aug 19, 2021
-
-
Matt Harbison authored
This is a port of 53221078e0de to Windows to allow pip-installed extensions to be loaded without specifying a path. It's a major headache to have an hg.exe on `PATH` that needs to have the path to the extensions specified, because WSL doesn't see the same path. This is only for Windows for now, to match the currently shipping py2 behavior. There is a better solution with using the `site` package, but this needs support in PyOxidizer[1]. [1] https://github.com/indygreg/PyOxidizer/issues/430 Differential Revision: https://phab.mercurial-scm.org/D11308
-
- Aug 18, 2021
-
-
Matt Harbison authored
`bytes(length)` doesn't do what we want, so use `str`. There appear to be a ton more issues in this extension, including: - globals()[b'_GLOBAL_DONE'] using bytes as the key - `__author__` and similar using bytes - `BadDomainName` is feeding bytes to the Exception constructor - DNSRecord.toString() has the wrong signature (should be str, not bytes) Differential Revision: https://phab.mercurial-scm.org/D11303
-
- Aug 24, 2021
-
-
Julien Cristau authored
We were telling python that "rev" was a Py_ssize_t (via the "n" format), but it was actually an int. Differential Revision: https://phab.mercurial-scm.org/D11335
-