Wed, 09 Jan 2019 19:54:01 -0800 revlog: use separate variables to track version flags
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 09 Jan 2019 19:54:01 -0800] rev 41205
revlog: use separate variables to track version flags It wasn't obvious to me that "versionflags" is used both to define the default version+features value for new revlogs and to track the value read from a revlog. We rename the former use and add explicit assignment of "versionflags" later to differentiate between the two. Differential Revision: https://phab.mercurial-scm.org/D5564
Wed, 09 Jan 2019 16:18:00 -0800 revlog: inline opener options logic into _loadindex()
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 09 Jan 2019 16:18:00 -0800] rev 41204
revlog: inline opener options logic into _loadindex() We always call _loadindex() during __init__. But we also call _loadindex() as part of censorrevision(). Before, when reloading the index during censorrevision(), we would lose the configured mmapindexthreshold setting from the opener. By inlining the logic in _loadindex(), we ensure that opener options are always respected when loading the index. Differential Revision: https://phab.mercurial-scm.org/D5563
Wed, 09 Jan 2019 16:14:09 -0800 revlog: store mmaplargeindex as an instance attribute
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 09 Jan 2019 16:14:09 -0800] rev 41203
revlog: store mmaplargeindex as an instance attribute This makes it more consistent with everything else. It also makes it possible to move the opener/features processing into _loadindex(). Differential Revision: https://phab.mercurial-scm.org/D5562
Wed, 09 Jan 2019 17:41:36 -0800 revlog: always enable generaldelta on version 2 revlogs
Gregory Szorc <gregory.szorc@gmail.com> [Wed, 09 Jan 2019 17:41:36 -0800] rev 41202
revlog: always enable generaldelta on version 2 revlogs This commit starts the process of diverging version 2 revlogs from version 1 revlogs. generaldelta is a useful feature and has been enabled by default for ages. I can't think of a good reason why the feature should be disabled. Yes, it is true changelogs today don't have generaldelta enabled. But that's because they don't have delta chains enabled, so generaldelta makes no sense there. This commit makes generaldelta always enabled on version 2 revlogs. As part of this, one-off code in changelog.py mucking with revlog.version had to be made conditional on the revlog version, as we don't want to change revlog feature flags on version 2 revlogs. The fact this code exists is horrible and stems from revlog options being shared by the opener. We probably want a better API here. But that can wait for another patch. Differential Revision: https://phab.mercurial-scm.org/D5561
(0) -30000 -10000 -3000 -1000 -300 -100 -30 -10 -4 +4 +10 +30 +100 +300 +1000 +3000 +10000 tip