comparison mercurial/revlog.py @ 47173:ef7a8a1622ad

revlog: directly use self._format_version when loading index The shorthand variable does not bring much, so we drop it to simplify the code. Differential Revision: https://phab.mercurial-scm.org/D10599
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 03 May 2021 12:26:37 +0200
parents 93c2e6cdbd01
children 58ef549ae55f
comparison
equal deleted inserted replaced
47172:93c2e6cdbd01 47173:ef7a8a1622ad
489 self._initempty = False 489 self._initempty = False
490 else: 490 else:
491 header = new_header 491 header = new_header
492 492
493 flags = self._format_flags = header & ~0xFFFF 493 flags = self._format_flags = header & ~0xFFFF
494 fmt = self._format_version = header & 0xFFFF 494 self._format_version = header & 0xFFFF
495 495
496 if fmt == REVLOGV0: 496 if self._format_version == REVLOGV0:
497 if flags: 497 if flags:
498 raise error.RevlogError( 498 msg = _(b'unknown flags (%#04x) in version %d revlog %s')
499 _(b'unknown flags (%#04x) in version %d revlog %s') 499 msg %= (flags >> 16, self._format_version, self.display_id)
500 % (flags >> 16, fmt, self.display_id) 500 raise error.RevlogError(msg)
501 )
502 501
503 self._inline = False 502 self._inline = False
504 self._generaldelta = False 503 self._generaldelta = False
505 504
506 elif fmt == REVLOGV1: 505 elif self._format_version == REVLOGV1:
507 if flags & ~REVLOGV1_FLAGS: 506 if flags & ~REVLOGV1_FLAGS:
508 raise error.RevlogError( 507 msg = _(b'unknown flags (%#04x) in version %d revlog %s')
509 _(b'unknown flags (%#04x) in version %d revlog %s') 508 msg %= (flags >> 16, self._format_version, self.display_id)
510 % (flags >> 16, fmt, self.display_id) 509 raise error.RevlogError(msg)
511 )
512 510
513 self._inline = self._format_flags & FLAG_INLINE_DATA 511 self._inline = self._format_flags & FLAG_INLINE_DATA
514 self._generaldelta = self._format_flags & FLAG_GENERALDELTA 512 self._generaldelta = self._format_flags & FLAG_GENERALDELTA
515 513
516 elif fmt == REVLOGV2: 514 elif self._format_version == REVLOGV2:
517 if flags & ~REVLOGV2_FLAGS: 515 if flags & ~REVLOGV2_FLAGS:
518 raise error.RevlogError( 516 msg = _(b'unknown flags (%#04x) in version %d revlog %s')
519 _(b'unknown flags (%#04x) in version %d revlog %s') 517 msg %= (flags >> 16, self._format_version, self.display_id)
520 % (flags >> 16, fmt, self.display_id) 518 raise error.RevlogError(msg)
521 )
522 519
523 # There is a bug in the transaction handling when going from an 520 # There is a bug in the transaction handling when going from an
524 # inline revlog to a separate index and data file. Turn it off until 521 # inline revlog to a separate index and data file. Turn it off until
525 # it's fixed, since v2 revlogs sometimes get rewritten on exchange. 522 # it's fixed, since v2 revlogs sometimes get rewritten on exchange.
526 # See issue6485 523 # See issue6485
527 self._inline = False 524 self._inline = False
528 # generaldelta implied by version 2 revlogs. 525 # generaldelta implied by version 2 revlogs.
529 self._generaldelta = True 526 self._generaldelta = True
530 527
531 else: 528 else:
532 raise error.RevlogError( 529 msg = _(b'unknown version (%d) in revlog %s')
533 _(b'unknown version (%d) in revlog %s') % (fmt, self.display_id) 530 msg %= (self._format_version, self.display_id)
534 ) 531 raise error.RevlogError(msg)
535 532
536 self.nodeconstants = sha1nodeconstants 533 self.nodeconstants = sha1nodeconstants
537 self.nullid = self.nodeconstants.nullid 534 self.nullid = self.nodeconstants.nullid
538 535
539 # sparse-revlog can't be on without general-delta (issue6056) 536 # sparse-revlog can't be on without general-delta (issue6056)
556 use_rust_index = self.opener.options.get(b'rust.index') 553 use_rust_index = self.opener.options.get(b'rust.index')
557 554
558 self._parse_index = parse_index_v1 555 self._parse_index = parse_index_v1
559 if self._format_version == REVLOGV0: 556 if self._format_version == REVLOGV0:
560 self._parse_index = revlogv0.parse_index_v0 557 self._parse_index = revlogv0.parse_index_v0
561 elif fmt == REVLOGV2: 558 elif self._format_version == REVLOGV2:
562 self._parse_index = parse_index_v2 559 self._parse_index = parse_index_v2
563 elif devel_nodemap: 560 elif devel_nodemap:
564 self._parse_index = parse_index_v1_nodemap 561 self._parse_index = parse_index_v1_nodemap
565 elif use_rust_index: 562 elif use_rust_index:
566 self._parse_index = parse_index_v1_mixed 563 self._parse_index = parse_index_v1_mixed