dirstatemap: introduce a common base for the dirstatemap class
We have two dirstatemaps class. One for the python version of the dirstate map
and one for the Rust version (that has a python wrapper to deal with some
aspect of it). We end up with duplicated code between them, so we introduce a
common base class to start migrating common code in them.
Differential Revision: https://phab.mercurial-scm.org/D11564
--- a/mercurial/dirstatemap.py Tue Sep 28 15:11:22 2021 -0700
+++ b/mercurial/dirstatemap.py Fri Oct 01 16:14:29 2021 +0200
@@ -35,7 +35,14 @@
rangemask = 0x7FFFFFFF
-class dirstatemap(object):
+class _dirstatemapcommon(object):
+ """
+ Methods that are identical for both implementations of the dirstatemap
+ class, with and without Rust extensions enabled.
+ """
+
+
+class dirstatemap(_dirstatemapcommon):
"""Map encapsulating the dirstate's contents.
The dirstate contains the following state:
@@ -460,7 +467,7 @@
if rustmod is not None:
- class dirstatemap(object):
+ class dirstatemap(_dirstatemapcommon):
def __init__(self, ui, opener, root, nodeconstants, use_dirstate_v2):
self._use_dirstate_v2 = use_dirstate_v2
self._nodeconstants = nodeconstants