- Jun 17, 2023
-
-
Pierre-Yves David authored
We have a generic mechanism that we can now use for the special case now.
-
- Jun 15, 2023
-
-
Pierre-Yves David authored
The integer was not what the user expect nor what could be provided as a config value.
-
Pierre-Yves David authored
We will use it in the next function to the delta policy display. It could also be use to deal with the other special case in the command code, but that is unnecessary churn for stable so that part will go on default.
-
- Jun 09, 2023
-
-
Arseniy Alekseyev authored
The crash is a result of [value] being an int, but being used as a bytestring.
-
Arseniy Alekseyev authored
-
- Jun 17, 2023
-
-
Pierre-Yves David authored
We add and use an official API to check is re2 is available. This prevent the bug previously in place were debuginstall was considering confusing `None` (i.e. non-initialized) and `False` (i.e. unavailable).
-
Pierre-Yves David authored
There is no need to it to be a method, so we make it at least a static method to make it easier to call.
-
Pierre-Yves David authored
If we already know if re2 is supported there is no need to run the check again. Stricly speaking we don't call it twice, but this seems a simple enough safeguard to include in this series.
-
- Jun 12, 2023
-
-
Raphaël Gomès authored
Dirstate-v2 will become the default at some point, which would cause this test to fail. Let's save someone else the headache later.
-
- Jun 08, 2023
-
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
Pierre-Yves David authored
Since 6.4, we create a temporary index file to write the split data without overwriting the inline version too early. However, the store encoding does not prevent these new `.i.s` file to collide with a directory with the same name. While the odds for such a collision to happens are fairly low, the collision would prevent Mercurial from working. The store encoding have a mitigation solution in place to prevent such collisions from happening for `.i` and `.d` files, but not for other extensions. We cannot update this encoding scheme to solve the issue since it would diverge from older version of Mercurial. Instead, we create an alternative directory tree dedicated to such files. The use of the `.i` extension combined with store encoding will prevent collisions there.
-
Pierre-Yves David authored
This is about to become more complex, so we gather the logic in a single place.
-
- Jun 05, 2023
-
-
Raphaël Gomès authored
This will help us not fail when a v1 dirstate is present on disk while a v2 was expected (which could happen with a racy/interrupted upgrade).
-
Raphaël Gomès authored
We should fall back to trying dirstate v1 when v2 fails to read.
-
Raphaël Gomès authored
It is closer to the right semantics. I added a docstring to better explain the reasonning. In the next patch(es), I will address the underlying issue of finding the "wrong" version of the dirstate on disk.
-
Pierre-Yves David authored
The code that select delta still has too many oportunity to discard the delta is has been forcibly asked to reuse. However is is fairly easy to use a dedicated fastpath for this case. So we do so. Cleaning other code that tries to enforce that policy will be done on default.
-
- Jun 08, 2023
-
-
Pierre-Yves David authored
This will be useful to access the effect of the delta reuse policy.
-
Pierre-Yves David authored
More debug options never hurts.
-
Pierre-Yves David authored
We are about to make the `if` body bigger, so having only one of them is simpler/
-
Pierre-Yves David authored
This help us to record debug information in alternative path.
-
Pierre-Yves David authored
We should compare integer with integer, instead of bytes (node).
-
Pierre-Yves David authored
This helps with the initialisation of the expected debug information.
-
- Jun 07, 2023
-
-
Pierre-Yves David authored
This will help us making sure we can call the necessary debugging code in alternative codepath.
-
Pierre-Yves David authored
By adjusting the value at creation time, we can avoid the need to use and intermediate variable.
-
Pierre-Yves David authored
This will make it simpler to get be reused in multiple places.
-
Pierre-Yves David authored
If general delta is not available, the amount of delta we can reuse at all will be more limited. We check that application still work and does not corrupt the repository.
-
- Apr 25, 2023
-
-
Mathias De Mare authored
This seems useful to clarify through the documentation (we were still using debugcreatestreamclonebundle, even though 'hg bundle' is already an option...).
-
- Jun 05, 2023
-
-
Arseniy Alekseyev authored
Specifically, if the .i.s files are not added to the transaction, then a follow-up modification of such a file records it into transaction as non-empty, which is incorrect.
-
- Jun 01, 2023
-
-
Pierre-Yves David authored
Some code path are far too fast now. We raise de number to make sure the run keep to that floor.
-
- May 31, 2023
-
-
Jörg Sonnenberger authored
-
- Apr 20, 2023
-
-
Mathias De Mare authored
Previously, an invalid clonebundle scheme would result in a failed clone. By specifying a list of schemes we support, we can make sure adding a new scheme (like the one for inline clonebundles) does not result in clones failing for older clients.
-
Mathias De Mare authored
-
- May 04, 2023
-
-
Raphaël Gomès authored
-
Raphaël Gomès authored
-
- May 02, 2023
-
-
Pierre-Yves David authored
Because of store encoding, we might end up with the backup in a different directory than the initial copy (for example if the backup path make it cross the 120 char limit). This can create crash, especially since 6.4 where backup are used during revlog split. Making sure the directory exists fixes these crash We added a test covering this case. Strictly speaking, this has always been broken, however the new code in 6.4 triggers it more easily.
-
Pierre-Yves David authored
It is an important part of the API when creating directory. We will need it in the next changeset.
-
Pierre-Yves David authored
There have been a report of failure while splitting revlog. The file name involved was important. The pattern involved here are not problematic, but it help to setup the machinery to test multiple files, the actual fix and problematic file will arrive in a later changeset.
-