comparison mercurial/revlog.py @ 47222:c2180093682a

revlog: determine sidedata support based on the revlog version Revlog version "2" support sidedata, previous version does not. So lets make the initialization simpler. Differential Revision: https://phab.mercurial-scm.org/D10613
author Pierre-Yves David <pierre-yves.david@octobus.net>
date Mon, 03 May 2021 12:29:09 +0200
parents ffa8afc5f931
children e51392acd70c
comparison
equal deleted inserted replaced
47221:5eb5b866e517 47222:c2180093682a
349 self._compengine = b'zlib' 349 self._compengine = b'zlib'
350 self._compengineopts = {} 350 self._compengineopts = {}
351 self._maxdeltachainspan = -1 351 self._maxdeltachainspan = -1
352 self._withsparseread = False 352 self._withsparseread = False
353 self._sparserevlog = False 353 self._sparserevlog = False
354 self.hassidedata = False
354 self._srdensitythreshold = 0.50 355 self._srdensitythreshold = 0.50
355 self._srmingapsize = 262144 356 self._srmingapsize = 262144
356 357
357 # Make copy of flag processors so each revlog instance can support 358 # Make copy of flag processors so each revlog instance can support
358 # custom flags. 359 # custom flags.
415 self._compengineopts[b'zstd.level'] = opts[b'zstd.level'] 416 self._compengineopts[b'zstd.level'] = opts[b'zstd.level']
416 if b'maxdeltachainspan' in opts: 417 if b'maxdeltachainspan' in opts:
417 self._maxdeltachainspan = opts[b'maxdeltachainspan'] 418 self._maxdeltachainspan = opts[b'maxdeltachainspan']
418 if self._mmaplargeindex and b'mmapindexthreshold' in opts: 419 if self._mmaplargeindex and b'mmapindexthreshold' in opts:
419 mmapindexthreshold = opts[b'mmapindexthreshold'] 420 mmapindexthreshold = opts[b'mmapindexthreshold']
420 self.hassidedata = bool(opts.get(b'side-data', False))
421 self._sparserevlog = bool(opts.get(b'sparse-revlog', False)) 421 self._sparserevlog = bool(opts.get(b'sparse-revlog', False))
422 withsparseread = bool(opts.get(b'with-sparse-read', False)) 422 withsparseread = bool(opts.get(b'with-sparse-read', False))
423 # sparse-revlog forces sparse-read 423 # sparse-revlog forces sparse-read
424 self._withsparseread = self._sparserevlog or withsparseread 424 self._withsparseread = self._sparserevlog or withsparseread
425 if b'sparse-read-density-threshold' in opts: 425 if b'sparse-read-density-threshold' in opts:
519 # it's fixed, since v2 revlogs sometimes get rewritten on exchange. 519 # it's fixed, since v2 revlogs sometimes get rewritten on exchange.
520 # See issue6485 520 # See issue6485
521 self._inline = False 521 self._inline = False
522 # generaldelta implied by version 2 revlogs. 522 # generaldelta implied by version 2 revlogs.
523 self._generaldelta = True 523 self._generaldelta = True
524 # revlog-v2 has built in sidedata support
525 self.hassidedata = True
524 526
525 else: 527 else:
526 msg = _(b'unknown version (%d) in revlog %s') 528 msg = _(b'unknown version (%d) in revlog %s')
527 msg %= (self._format_version, self.display_id) 529 msg %= (self._format_version, self.display_id)
528 raise error.RevlogError(msg) 530 raise error.RevlogError(msg)