comparison mercurial/dirstate.py @ 48223:b4f83c9e7905

dirstate-v2: Add support when Rust is not enabled This wires into `dirstatemap` the parser and serializer added in previous changesets. The memory representation is still the same, with a flat `dict` for `DirstateItem`s and another one for copy sources. Serialization always creates a new dirstate-v2 data file and does not support (when Rust is not enabled) appending to an existing one, since we don’t keep track of which tree nodes are new or modified. Instead the tree is reconstructed during serialization. Differential Revision: https://phab.mercurial-scm.org/D11520
author Simon Sapin <simon.sapin@octobus.net>
date Fri, 16 Jul 2021 18:42:20 +0200
parents e2753a7acfa7
children 5c567aca080d
comparison
equal deleted inserted replaced
48222:7e78c72ee3ea 48223:b4f83c9e7905
36 util as interfaceutil, 36 util as interfaceutil,
37 ) 37 )
38 38
39 parsers = policy.importmod('parsers') 39 parsers = policy.importmod('parsers')
40 rustmod = policy.importrust('dirstate') 40 rustmod = policy.importrust('dirstate')
41
42 SUPPORTS_DIRSTATE_V2 = rustmod is not None
43 41
44 propertycache = util.propertycache 42 propertycache = util.propertycache
45 filecache = scmutil.filecache 43 filecache = scmutil.filecache
46 _rangemask = dirstatemap.rangemask 44 _rangemask = dirstatemap.rangemask
47 45