203 indexformatv0_pack = indexformatv0.pack |
203 indexformatv0_pack = indexformatv0.pack |
204 indexformatv0_unpack = indexformatv0.unpack |
204 indexformatv0_unpack = indexformatv0.unpack |
205 |
205 |
206 |
206 |
207 class revlogoldindex(list): |
207 class revlogoldindex(list): |
|
208 @property |
|
209 def nodemap(self): |
|
210 msg = "index.nodemap is deprecated, " "use index.[has_node|rev|get_rev]" |
|
211 util.nouideprecwarn(msg, b'5.3', stacklevel=2) |
|
212 return self._nodemap |
|
213 |
208 @util.propertycache |
214 @util.propertycache |
209 def nodemap(self): |
215 def _nodemap(self): |
210 nodemap = revlogutils.NodeMap({nullid: nullrev}) |
216 nodemap = revlogutils.NodeMap({nullid: nullrev}) |
211 for r in range(0, len(self)): |
217 for r in range(0, len(self)): |
212 n = self[r][7] |
218 n = self[r][7] |
213 nodemap[n] = r |
219 nodemap[n] = r |
214 return nodemap |
220 return nodemap |
215 |
221 |
216 def has_node(self, node): |
222 def has_node(self, node): |
217 """return True if the node exist in the index""" |
223 """return True if the node exist in the index""" |
218 return node in self.nodemap |
224 return node in self._nodemap |
219 |
225 |
220 def rev(self, node): |
226 def rev(self, node): |
221 """return a revision for a node |
227 """return a revision for a node |
222 |
228 |
223 If the node is unknown, raise a RevlogError""" |
229 If the node is unknown, raise a RevlogError""" |
224 return self.nodemap[node] |
230 return self._nodemap[node] |
225 |
231 |
226 def get_rev(self, node): |
232 def get_rev(self, node): |
227 """return a revision for a node |
233 """return a revision for a node |
228 |
234 |
229 If the node is unknown, return None""" |
235 If the node is unknown, return None""" |
230 return self.nodemap.get(node) |
236 return self._nodemap.get(node) |
231 |
237 |
232 def append(self, tup): |
238 def append(self, tup): |
233 self.nodemap[tup[7]] = len(self) |
239 self._nodemap[tup[7]] = len(self) |
234 super(revlogoldindex, self).append(tup) |
240 super(revlogoldindex, self).append(tup) |
235 |
241 |
236 def __delitem__(self, i): |
242 def __delitem__(self, i): |
237 if not isinstance(i, slice) or not i.stop == -1 or i.step is not None: |
243 if not isinstance(i, slice) or not i.stop == -1 or i.step is not None: |
238 raise ValueError(b"deleting slices only supports a:-1 with step 1") |
244 raise ValueError(b"deleting slices only supports a:-1 with step 1") |
239 for r in pycompat.xrange(i.start, len(self)): |
245 for r in pycompat.xrange(i.start, len(self)): |
240 del self.nodemap[self[r][7]] |
246 del self._nodemap[self[r][7]] |
241 super(revlogoldindex, self).__delitem__(i) |
247 super(revlogoldindex, self).__delitem__(i) |
242 |
248 |
243 def clearcaches(self): |
249 def clearcaches(self): |
244 self.__dict__.pop('nodemap', None) |
250 self.__dict__.pop('_nodemap', None) |
245 |
251 |
246 def __getitem__(self, i): |
252 def __getitem__(self, i): |
247 if i == -1: |
253 if i == -1: |
248 return (0, 0, 0, -1, -1, -1, -1, nullid) |
254 return (0, 0, 0, -1, -1, -1, -1, nullid) |
249 return list.__getitem__(self, i) |
255 return list.__getitem__(self, i) |
577 except (ValueError, IndexError): |
583 except (ValueError, IndexError): |
578 raise error.RevlogError( |
584 raise error.RevlogError( |
579 _(b"index %s is corrupted") % self.indexfile |
585 _(b"index %s is corrupted") % self.indexfile |
580 ) |
586 ) |
581 self.index, self._chunkcache = d |
587 self.index, self._chunkcache = d |
582 self.nodemap = self.index.nodemap |
|
583 if not self._chunkcache: |
588 if not self._chunkcache: |
584 self._chunkclear() |
589 self._chunkclear() |
585 # revnum -> (chain-length, sum-delta-length) |
590 # revnum -> (chain-length, sum-delta-length) |
586 self._chaininfocache = {} |
591 self._chaininfocache = {} |
587 # revlog header -> revlog compressor |
592 # revlog header -> revlog compressor |
648 |
653 |
649 def revs(self, start=0, stop=None): |
654 def revs(self, start=0, stop=None): |
650 """iterate over all rev in this revlog (from start to stop)""" |
655 """iterate over all rev in this revlog (from start to stop)""" |
651 return storageutil.iterrevs(len(self), start=start, stop=stop) |
656 return storageutil.iterrevs(len(self), start=start, stop=stop) |
652 |
657 |
653 @util.propertycache |
658 @property |
654 def nodemap(self): |
659 def nodemap(self): |
|
660 msg = ( |
|
661 "revlog.nodemap is deprecated, " |
|
662 "use revlog.index.[has_node|rev|get_rev]" |
|
663 ) |
|
664 util.nouideprecwarn(msg, b'5.3', stacklevel=2) |
655 return self.index.nodemap |
665 return self.index.nodemap |
656 |
666 |
657 @property |
667 @property |
658 def _nodecache(self): |
668 def _nodecache(self): |
659 msg = "revlog._nodecache is deprecated, use revlog.index.nodemap" |
669 msg = "revlog._nodecache is deprecated, use revlog.index.nodemap" |