equal
deleted
inserted
replaced
350 if rev == 0: |
350 if rev == 0: |
351 p = versionformat_pack(version) + p[4:] |
351 p = versionformat_pack(version) + p[4:] |
352 return p |
352 return p |
353 |
353 |
354 |
354 |
|
355 NodemapRevlogIO = None |
|
356 |
|
357 if util.safehasattr(parsers, 'parse_index_devel_nodemap'): |
|
358 |
|
359 class NodemapRevlogIO(revlogio): |
|
360 """A debug oriented IO class that return a PersistentNodeMapIndexObject |
|
361 |
|
362 The PersistentNodeMapIndexObject object is meant to test the persistent nodemap feature. |
|
363 """ |
|
364 |
|
365 def parseindex(self, data, inline): |
|
366 index, cache = parsers.parse_index_devel_nodemap(data, inline) |
|
367 return index, cache |
|
368 |
|
369 |
355 class rustrevlogio(revlogio): |
370 class rustrevlogio(revlogio): |
356 def parseindex(self, data, inline): |
371 def parseindex(self, data, inline): |
357 index, cache = super(rustrevlogio, self).parseindex(data, inline) |
372 index, cache = super(rustrevlogio, self).parseindex(data, inline) |
358 return rustrevlog.MixedIndex(index), cache |
373 return rustrevlog.MixedIndex(index), cache |
359 |
374 |
594 if not self._generaldelta: |
609 if not self._generaldelta: |
595 self._sparserevlog = False |
610 self._sparserevlog = False |
596 |
611 |
597 self._storedeltachains = True |
612 self._storedeltachains = True |
598 |
613 |
|
614 devel_nodemap = ( |
|
615 self.nodemap_file |
|
616 and opts.get(b'devel-force-nodemap', False) |
|
617 and NodemapRevlogIO is not None |
|
618 ) |
|
619 |
599 self._io = revlogio() |
620 self._io = revlogio() |
600 if self.version == REVLOGV0: |
621 if self.version == REVLOGV0: |
601 self._io = revlogoldio() |
622 self._io = revlogoldio() |
|
623 elif devel_nodemap: |
|
624 self._io = NodemapRevlogIO() |
602 elif rustrevlog is not None and self.opener.options.get(b'rust.index'): |
625 elif rustrevlog is not None and self.opener.options.get(b'rust.index'): |
603 self._io = rustrevlogio() |
626 self._io = rustrevlogio() |
604 try: |
627 try: |
605 d = self._io.parseindex(indexdata, self._inline) |
628 d = self._io.parseindex(indexdata, self._inline) |
606 except (ValueError, IndexError): |
629 except (ValueError, IndexError): |