diff 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
line wrap: on
line diff
--- a/mercurial/configitems.py	Mon Jun 04 12:12:00 2018 +0200
+++ b/mercurial/configitems.py	Mon Jun 04 22:23:18 2018 +0200
@@ -652,6 +652,9 @@
 coreconfigitem('format', 'obsstore-version',
     default=None,
 )
+coreconfigitem('format', 'sparse-revlog',
+    default=False,
+)
 coreconfigitem('format', 'usefncache',
     default=True,
 )