- Oct 25, 2021
-
-
Pierre-Yves David authored
This is now redundant with the new, simpler `mtime_boundary` one. Differential Revision: https://phab.mercurial-scm.org/D11795
-
- Nov 18, 2021
-
-
Pierre-Yves David authored
We record the filesystem time at the start of the status walk and use that as a boundary to detect files that might be modified during (or right after) the status run without the mtime allowing that edition to be detected. We currently do this at a second precision. In a later patch, we will use nanosecond precision when available. To cope with "broken" time on the file system where file could be in the future, we also keep mtime for file over one day in the future. See inline comment for details. Large file tests get a bit more confused as we reduce the odds for race condition. As a "side effect", the win32text extension is happy again. Differential Revision: https://phab.mercurial-scm.org/D11794
-
Pierre-Yves David authored
In the test we want to trigger a write after the underlying dirstate changed. To do so, we need a write. And as we are about to make dirstate update smarter we need to meddle with the script a bit to make sure there will be a write. Differential Revision: https://phab.mercurial-scm.org/D11793
-
- Nov 23, 2021
-
-
Pierre-Yves David authored
Otherwise the could get size from one version of the file while the on-disk version is still clean but with another size. This fix the previously introduced error. Differential Revision: https://phab.mercurial-scm.org/D11792
-
- Nov 17, 2021
-
-
Pierre-Yves David authored
Gathering information here assume that they are valid cache information for a clean file. It is true most of the time, but not garanteed. Accurate data can still be explicitly provided. We drop the spontaneous and will let the next `hg status` call record actual information. Differential Revision: https://phab.mercurial-scm.org/D11791
-
Pierre-Yves David authored
Gathering information here assume that they are valid cache information for a clean file. It is true most of the time, but not garanteed. So we drop this and will let the next `hg status` call record actual information. Differential Revision: https://phab.mercurial-scm.org/D11790
-
Pierre-Yves David authored
Gathering the mode, size and mtime, independently from determining that the file is clean is a race-machine. So we just make these information required arguments. (note that the data is still gathered in a racy way in practice, but at least the API is no longer encouraging it.) Differential Revision: https://phab.mercurial-scm.org/D11789
-
- Nov 22, 2021
-
-
Pierre-Yves David authored
The current `set_clean` usage is racy (the file might be modified between its restoration and the `set_clean` call). So we simply leave the file as ambiguous and the next status will fix that. We still have to make sure the copy information is dropped, so we teach dirstate how to do that. The win32txt extension is confused after this because current logic is broken in more location. However this series will ultimately fix that so we "ignore" it for now. Fixing it now is complicated without some extra fix landing later. Differential Revision: https://phab.mercurial-scm.org/D11788
-
- Nov 18, 2021
-
-
Pierre-Yves David authored
See main core code for details. We don't factor the code in a common function yet, because we will have to adapt a bit more things in the keyword case at the end of the series. Differential Revision: https://phab.mercurial-scm.org/D11787
-
Pierre-Yves David authored
See the core code for details of why we are doing this. We don't factor the code in a common function yet, because we will have to adapt a bit more things in the largefile case at the end of the series. Differential Revision: https://phab.mercurial-scm.org/D11786
-
- Nov 17, 2021
-
-
Pierre-Yves David authored
This is still racy, but on a much small windows. In addition, the API now make it possible for it to not be racy. This also unlock other cleanups that we are about to do regarding mtime ambiguity at gathering time. Differential Revision: https://phab.mercurial-scm.org/D11785
-
Pierre-Yves David authored
Right now, this filtering is done by `dirstate.write` using the time of `dirstate.write` method call. However that filtering is done "too late" It works "fine" as most command are "fast enough", and race rare enough. We are about to change the mtime filtering logic in the dirstate to be more accurate and reliable. However `hg update` will still need such filtering (mostly because it is actually quite racy, even with the existing filtering). So we explicitly implement a similar logic here. Before removing the older one later in the series. Differential Revision: https://phab.mercurial-scm.org/D11784
-
Pierre-Yves David authored
We will need it during update. Differential Revision: https://phab.mercurial-scm.org/D11783
-
Pierre-Yves David authored
This will be useful to filter out unreliable mtime. Differential Revision: https://phab.mercurial-scm.org/D11782
-
Pierre-Yves David authored
This is a bit that is not really correct but works "fine" in practice. Let us write the details down so that people stop wondering how that logic might be correct… It is not. Differential Revision: https://phab.mercurial-scm.org/D11781
-
- Oct 25, 2021
-
-
Raphaël Gomès authored
See comment above the changed line, you can get a millions of line of output in case of failure. When don't need to have them all. Differential Revision: https://phab.mercurial-scm.org/D11780
-
- Nov 23, 2021
-
-
Pierre-Yves David authored
For the test to work, we need some mtime to be recorded. For them to be recorded, they need to be "clearly in the past", otherwise edit with the same mtime would be possible. Strictly speaking there might be file system with a minimal mtime increment longer than one second. However it is unlikely that we will run the test on them for now. We can be smarter about this in the future if it becomes necessary. Differential Revision: https://phab.mercurial-scm.org/D11779
-
- Nov 17, 2021
-
-
Pierre-Yves David authored
This will help to stabilize part of the test that are not relevant for what is actually tested. Differential Revision: https://phab.mercurial-scm.org/D11778
-
- Nov 04, 2021
-
-
Pierre-Yves David authored
It is common for readers of that test to confuse the `hg co` call with a `hg commit`, while it actually means `hg checkout`, an alias for the more common `hg update. So let us use the clearer version. Differential Revision: https://phab.mercurial-scm.org/D11777
-
- Nov 30, 2021
-
-
Pierre-Yves David authored
rhg is not updating the dirstate on status yet, which make this part of the test flaky. This will be fixed soon. Differential Revision: https://phab.mercurial-scm.org/D11833
-
- Oct 18, 2021
-
-
Martin von Zweigbergk authored
It's not obvious which order the commits in chistedit (and text-based histedit), so let's add a note about it. Differential Revision: https://phab.mercurial-scm.org/D11832
-
- Nov 23, 2021
-
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D11831
-
- Nov 20, 2021
-
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D11830
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D11829
-
- Nov 19, 2021
-
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D11828
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D11827
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D11826
-
Martin von Zweigbergk authored
One of the most common reasons that a patch doesn't apply is because its whitespace has been mangled (e.g. by their mail client or though copy&paste). Let's provide a hint about that. Differential Revision: https://phab.mercurial-scm.org/D11825
-
Martin von Zweigbergk authored
This patch adds subclasses of `PatchError` so we can distinguish between failure to parse a patch from failure to apply it. It updates the callers to raise either `InputError` or `StateError` depending on which type of error occurred. Differential Revision: https://phab.mercurial-scm.org/D11824
-
- Nov 26, 2021
-
-
Pierre-Yves David authored
This is similar to what we do in other section (e.g. `paths`) and allow to change the behavior for all extensions. Sub options on individual extensions overwrite the default settings. Differential Revision: https://phab.mercurial-scm.org/D11823
-
Pierre-Yves David authored
If `required` is set, failing to load an extensions will abort. See the test and documentation for details. Differential Revision: https://phab.mercurial-scm.org/D11822
-
- Nov 29, 2021
-
-
Pierre-Yves David authored
This make it easier to understand the message when the extensions name is common. Differential Revision: https://phab.mercurial-scm.org/D11821
-
- Nov 26, 2021
-
-
Pierre-Yves David authored
We will need this in the next patch. Differential Revision: https://phab.mercurial-scm.org/D11820
-
Pierre-Yves David authored
config suboptions are separated by ":" (see the path one for example). So we dont want to confuse these config with actual extensions. We don't have extensions sub option yet, but I am about to introduce one for making sure an extensions can load. So lets level the floor first. Differential Revision: https://phab.mercurial-scm.org/D11819
-
- Nov 24, 2021
-
-
Gregory Szorc authored
Python 3.10 is out and we should support it. This commit teaches the automation code to install and support building for Python 3.10. Differential Revision: https://phab.mercurial-scm.org/D11776
-
- Nov 16, 2021
-
-
Gregory Szorc authored
Let's keep the environment modern. Differential Revision: https://phab.mercurial-scm.org/D11775
-
- Nov 29, 2021
-
-
Arseniy Alekseyev authored
This can be used to inspect the generated pattern, but also to benchmark the time it takes to parse hgignore. Differential Revision: https://phab.mercurial-scm.org/D11722
-
Arseniy Alekseyev authored
Differential Revision: https://phab.mercurial-scm.org/D11818
-
- Nov 11, 2021
-
-
Arseniy Alekseyev authored
Differential Revision: https://phab.mercurial-scm.org/D11751
-
- Nov 25, 2021
-
-
Matt Harbison authored
Differential Revision: https://phab.mercurial-scm.org/D11805
-