mergestate: make `_resolve()` do both preresolve and resolve
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
mergestate: merge `preresolve()` into `resolve()`
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
tests: remove unnecessary explicit args from `failfilemerge.py`
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
simplemerge: set `conflicts` earlier for :union tool
Differential Revision: https://phab.mercurial-scm.org/D11853
downgrade: don't assume existence of nodemap files when downgrading
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
typo: s/unkown/unknown across the codebase
Differential Revision: https://phab.mercurial-scm.org/D11807
rhg: Update the dirstate on disk after status
Differential Revision: https://phab.mercurial-scm.org/D11840
rhg: Add Repo::write_dirstate
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
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