comparison mercurial/configitems.py @ 38717:aa21a9ad46ea

sparse-revlog: new requirement enabled with format.sparse-revlog The meaning of the new 'sparse-revlog' requirement is that the revlogs are allowed to contain wider delta chains with larger holes between the interesting chunks. These sparse delta chains should be read in several chunks to avoid a potential explosion of memory usage. Former version won't know how to read a delta chain in several chunks. They would keep reading them in a single read, and therefore would be subject to the potential memory explosion. Hence this new requirement: only versions having support of sparse-revlog reading should be allowed to read such a revlog. Implementation of this new algorithm and tools to enable or disable the requirement will follow in the next changesets.
author Paul Morelle <paul.morelle@octobus.net>
date Mon, 04 Jun 2018 22:23:18 +0200
parents bfcd5c7cbf9a
children fcb517ff9562
comparison
equal deleted inserted replaced
38716:c67093e81a3e 38717:aa21a9ad46ea
650 default=None, 650 default=None,
651 ) 651 )
652 coreconfigitem('format', 'obsstore-version', 652 coreconfigitem('format', 'obsstore-version',
653 default=None, 653 default=None,
654 ) 654 )
655 coreconfigitem('format', 'sparse-revlog',
656 default=False,
657 )
655 coreconfigitem('format', 'usefncache', 658 coreconfigitem('format', 'usefncache',
656 default=True, 659 default=True,
657 ) 660 )
658 coreconfigitem('format', 'usegeneraldelta', 661 coreconfigitem('format', 'usegeneraldelta',
659 default=True, 662 default=True,