- Dec 06, 2021
-
-
Pierre-Yves David authored
We have more and more requirement that does not affect revlog or that only affect some of them. It is silly to force a full processing of all revlog to juste move the requirement around, or to simply rewrite the dirstate. So now, only the revlog that needs to be touched will be touched. Unless the --changelog & al flags are used. Differential Revision: https://phab.mercurial-scm.org/D11871
-
Pierre-Yves David authored
This is more explicite and prepare for a smoother transition to smarter picking of the revlog we will process. Differential Revision: https://phab.mercurial-scm.org/D11870
-
Pierre-Yves David authored
Some format upgrade/downgrades -needs- revlog to be recomputed. So we now detect that individually and warn when it contradict explicitly passed flag. This is part of a larger series to make `debugupgraderepo` smarter about which revlog it picks by default. Differential Revision: https://phab.mercurial-scm.org/D11869
-
Pierre-Yves David authored
This makes various logic simpler and will help making future patch clearer. Differential Revision: https://phab.mercurial-scm.org/D11868
-
Pierre-Yves David authored
We about about to make revlog section smarter. Moving the code around will make the next changesets clearer. Differential Revision: https://phab.mercurial-scm.org/D11867
-
- Dec 09, 2021
-
-
Simon Sapin authored
This fixes an intermittent bug that manifested only in test-revert.t, and unfortunately not on CI. On a fast enough machine we could have: 1. A file is modified 2. `rhg status` writes an updated dirstate-v1 3. The same file is modified again … all within the same integer second. Because the dirstate-v1 file format does not store sub-second precision, step 2 must write the file’s mtime as "unknown" because of the possibility of step 3. However, most of the code now handles timestamps with nanosecond precision in order to take advantage of it in dirstate-v2. `second_ambiguous` must be set for timestamps that become ambiguous if sub-second precision is dropped (such as through serialization in dirstate-v1 format). Differential Revision: https://phab.mercurial-scm.org/D11889
-
Simon Sapin authored
Differential Revision: https://phab.mercurial-scm.org/D11888
-
- Dec 07, 2021
-
-
Raphaël Gomès authored
See inline comments Differential Revision: https://phab.mercurial-scm.org/D11874
-
- Dec 08, 2021
-
-
Raphaël Gomès authored
-
- Dec 06, 2021
-
-
Pierre-Yves David authored
This used to crash as the dirstate file does not exist in this case. Differential Revision: https://phab.mercurial-scm.org/D11866
-
Pierre-Yves David authored
There is no reason to gate this anymore. Differential Revision: https://phab.mercurial-scm.org/D11865
-
- Dec 07, 2021
-
-
Pierre-Yves David authored
This breaks on Windows, so lets use `>2 /dev/null` like in the other tests. Differential Revision: https://phab.mercurial-scm.org/D11873
-
- Dec 06, 2021
-
-
Pierre-Yves David authored
This will make the test less noisy when new requirement are added. Differential Revision: https://phab.mercurial-scm.org/D11864
-
Martin von Zweigbergk authored
We now always pass `True`, so there's no need to pass it. Differential Revision: https://phab.mercurial-scm.org/D11863
-
- Dec 04, 2021
-
-
Martin von Zweigbergk authored
The caller is now trivial, so the indirection is pointless. Differential Revision: https://phab.mercurial-scm.org/D11860
-
Martin von Zweigbergk authored
This patch removes the `premerge` argument from `_filemerge()` and makes it do both the "premerge" and "merge" steps without the caller having to call it twice. Differential Revision: https://phab.mercurial-scm.org/D11859
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D11858
-
- Dec 03, 2021
-
-
Martin von Zweigbergk authored
The caller is now trivial, so the indirection is pointless. Differential Revision: https://phab.mercurial-scm.org/D11857
-
Martin von Zweigbergk authored
This patch removes the `preresolve` argument from `_resolve()` and makes it do both the "preresolve" and "resolve" steps without the caller having to call it twice. Differential Revision: https://phab.mercurial-scm.org/D11856
-
Martin von Zweigbergk authored
The separation between `preresolve()` and `resolve()` was something added for the "merge driver" feature. Since we removed that in 32ce4cbaec4b (mergedriver: delete it, 2020-09-17), we don't need the separation anymore. More cleanups will follow. Differential Revision: https://phab.mercurial-scm.org/D11855
-
- Dec 04, 2021
-
-
Martin von Zweigbergk authored
The `failfilemerge()` function always raises an exception without looking at its arguments, so let's use `*args` and `**kwargs`. Differential Revision: https://phab.mercurial-scm.org/D11854
-
- Nov 30, 2021
-
-
Martin von Zweigbergk authored
Differential Revision: https://phab.mercurial-scm.org/D11853
-
- Nov 25, 2021
-
-
Raphaël Gomès authored
Persistent nodemap files might not exist on a fresh repository, so ignore the potential missing file errors. Differential Revision: https://phab.mercurial-scm.org/D11806
-
- Nov 26, 2021
-
-
Raphaël Gomès authored
Differential Revision: https://phab.mercurial-scm.org/D11807
-
- Dec 07, 2021
-
-
Raphaël Gomès authored
... oops. Differential Revision: https://phab.mercurial-scm.org/D11875
-
- Nov 25, 2021
-
-
Simon Sapin authored
Differential Revision: https://phab.mercurial-scm.org/D11840
-
- Dec 02, 2021
-
-
Simon Sapin authored
This method is not used yet. It saves to disk any mutation that was done to the `Repo`’s dirstate through `Repo::dirstate_map_mut`. It takes care of dirstate-v1 v.s. dirstate-v2, dockets, data files, appending when possible, etc. Differential Revision: https://phab.mercurial-scm.org/D11839
-
Simon Sapin authored
The `dirstate_parents`, `dirstate_data_file_uuid`, and `dirstate_map` members of `Repo` can be access in any order and the `.hg/dirstate` file should only be opened once. Differential Revision: https://phab.mercurial-scm.org/D11838
-
- Nov 29, 2021
-
-
Simon Sapin authored
Unify with the same abstraction used for other lazily-initialized components Differential Revision: https://phab.mercurial-scm.org/D11837
-
Simon Sapin authored
This method writes to a temporary file then renames in place Differential Revision: https://phab.mercurial-scm.org/D11836
-
- Mar 22, 2021
-
-
Simon Sapin authored
Initial Rust implementation of locking based on the `.hg/wlock` symlink (or file), with lock breaking when the recorded pid and hostname show that a lock was left by a local process that is not running anymore (as it might have been killed). Differential Revision: https://phab.mercurial-scm.org/D11835
-
- Nov 29, 2021
-
-
Simon Sapin authored
Differential Revision: https://phab.mercurial-scm.org/D11834
-
- Nov 26, 2021
-
-
Raphaël Gomès authored
You currently have no way of turning off blackbox. Aside from being a bug, this can be annoying if you use `rhg` in your shell prompt, but also because the current implementation of blackbox is quite slow due to `user` querying. Differential Revision: https://phab.mercurial-scm.org/D11813
-
Raphaël Gomès authored
This will be used in the next patch Differential Revision: https://phab.mercurial-scm.org/D11812
-
- Dec 03, 2021
-
-
Raphaël Gomès authored
Its last usage was inlined in `merge.py`. Differential Revision: https://phab.mercurial-scm.org/D11849
-
- Dec 06, 2021
-
-
Raphaël Gomès authored
Differential Revision: https://phab.mercurial-scm.org/D11862
-
- Dec 04, 2021
-
-
Pierre-Yves David authored
They are minor output different to be taken in account. Differential Revision: https://phab.mercurial-scm.org/D11861
-
- Nov 16, 2021
-
-
Arseniy Alekseyev authored
This adds a minimal support that can be implemented without parsing the narrowspec. We can parse the narrowspec and add support for more operations later. The reason we need so few code changes is as follows: Most operations need no special treatment of sparse because some of them only read dirstate (`rhg files` without `-r`), which bakes in the filtering, some of them only read store (`rhg files -r`, `rhg cat`), and some of them read no data at all (`rhg root`, `rhg debugrequirements`). `status` is the command that might care about sparse, so we just disable rhg on it. For narrow clones, `rhg files` clearly needs the narrowspec to work correctly, so we fall back. `rhg cat` seems to work consistently with `hg cat` if the file exists. If the file is hidden by narrow spec, the error message is different and confusing, so that's something that we should improve in follow-up patches. Differential Revision: https://phab.mercurial-scm.org/D11764
-
- Dec 03, 2021
-
-
Pierre-Yves David authored
This make the various option clearer. Differential Revision: https://phab.mercurial-scm.org/D11852
-
Pierre-Yves David authored
Before this change `--merge` override `commands.update.check=abort/noconflict`, and `--check` "override" `commands.update.check=none/linear`. However the `--no-merge` and `--no-check` version where not doing anything. The `--no-` two flags now behave properly. Differential Revision: https://phab.mercurial-scm.org/D11851
-