rhg: Add lazy/cached dirstate data file ID parsing on Repo
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
rhg: Make Repo::dirstate_parents a LazyCell
Unify with the same abstraction used for other lazily-initialized components
Differential Revision: https://phab.mercurial-scm.org/D11837
rust: Add Vfs::write_atomic
This method writes to a temporary file then renames in place
Differential Revision: https://phab.mercurial-scm.org/D11836
rhg: Initial repository locking
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
rust: Serializing a DirstateMap does not mutate it anymore
Differential Revision: https://phab.mercurial-scm.org/D11834
rhg: don't run `blackbox` if not activated
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
rust: add function to check if an extension is enabled
This will be used in the next patch
Differential Revision: https://phab.mercurial-scm.org/D11812
dirstate: remove unused method
Its last usage was inlined in `merge.py`.
Differential Revision: https://phab.mercurial-scm.org/D11849
fsmonitor: fix criteria for nonnormalset computation
... oops.
Differential Revision: https://phab.mercurial-scm.org/D11875
fsmonitor: incorporate fixes for Python 3.10 (
issue6612)
Differential Revision: https://phab.mercurial-scm.org/D11862