comparison mercurial/revlog.py @ 43530:6e3e3e5446ba

revlog: deprecate the _nodecache attribute (API) This attribute have been the same object for a long time. Code should directly access the nodemap in case of need. (Or the final API when this will be done). This work is part of a refactoring to unify the revlog index and the nodemap. This unification prepare the use of a persistent nodemap. Differential Revision: https://phab.mercurial-scm.org/D7318
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Sat, 02 Nov 2019 15:46:47 +0100
parents bf176127033a
children dcf9826c8d8c
comparison
equal deleted inserted replaced
43529:bf176127033a 43530:6e3e3e5446ba
386 self._deltabothparents = True 386 self._deltabothparents = True
387 self.index = None 387 self.index = None
388 # Mapping of partial identifiers to full nodes. 388 # Mapping of partial identifiers to full nodes.
389 self._pcache = {} 389 self._pcache = {}
390 # Mapping of revision integer to full node. 390 # Mapping of revision integer to full node.
391 self._nodecache = None
392 self._nodepos = None 391 self._nodepos = None
393 self._compengine = b'zlib' 392 self._compengine = b'zlib'
394 self._compengineopts = {} 393 self._compengineopts = {}
395 self._maxdeltachainspan = -1 394 self._maxdeltachainspan = -1
396 self._withsparseread = False 395 self._withsparseread = False
551 except (ValueError, IndexError): 550 except (ValueError, IndexError):
552 raise error.RevlogError( 551 raise error.RevlogError(
553 _(b"index %s is corrupted") % self.indexfile 552 _(b"index %s is corrupted") % self.indexfile
554 ) 553 )
555 self.index, self._chunkcache = d 554 self.index, self._chunkcache = d
556 self.nodemap = self._nodecache = self.index.nodemap 555 self.nodemap = self.index.nodemap
557 if not self._chunkcache: 556 if not self._chunkcache:
558 self._chunkclear() 557 self._chunkclear()
559 # revnum -> (chain-length, sum-delta-length) 558 # revnum -> (chain-length, sum-delta-length)
560 self._chaininfocache = {} 559 self._chaininfocache = {}
561 # revlog header -> revlog compressor 560 # revlog header -> revlog compressor
628 def nodemap(self): 627 def nodemap(self):
629 if self.index: 628 if self.index:
630 # populate mapping down to the initial node 629 # populate mapping down to the initial node
631 node0 = self.index[0][7] # get around changelog filtering 630 node0 = self.index[0][7] # get around changelog filtering
632 self.rev(node0) 631 self.rev(node0)
632 return self.index.nodemap
633
634 @property
635 def _nodecache(self):
636 msg = "revlog._nodecache is deprecated, use revlog.index.nodemap"
637 util.nouideprecwarn(msg, b'5.3', stacklevel=2)
633 return self.index.nodemap 638 return self.index.nodemap
634 639
635 def hasnode(self, node): 640 def hasnode(self, node):
636 try: 641 try:
637 self.rev(node) 642 self.rev(node)