Mercurial > hg-stable
changeset 41205:3f807237dc94
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
author | Gregory Szorc <gregory.szorc@gmail.com> |
---|---|
date | Wed, 09 Jan 2019 19:54:01 -0800 |
parents | e3cfe0702eac |
children | 6acbe86c6490 |
files | mercurial/revlog.py |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/mercurial/revlog.py Wed Jan 09 16:18:00 2019 -0800 +++ b/mercurial/revlog.py Wed Jan 09 19:54:01 2019 -0800 @@ -391,13 +391,13 @@ opts = getattr(self.opener, 'options', {}) or {} if 'revlogv2' in opts: - versionflags = REVLOGV2 | FLAG_INLINE_DATA + newversionflags = REVLOGV2 | FLAG_INLINE_DATA elif 'revlogv1' in opts: - versionflags = REVLOGV1 | FLAG_INLINE_DATA + newversionflags = REVLOGV1 | FLAG_INLINE_DATA if 'generaldelta' in opts: - versionflags |= FLAG_GENERALDELTA + newversionflags |= FLAG_GENERALDELTA else: - versionflags = REVLOG_DEFAULT_VERSION + newversionflags = REVLOG_DEFAULT_VERSION if 'chunkcachesize' in opts: self._chunkcachesize = opts['chunkcachesize'] @@ -446,10 +446,14 @@ if len(indexdata) > 0: versionflags = versionformat_unpack(indexdata[:4])[0] self._initempty = False + else: + versionflags = newversionflags except IOError as inst: if inst.errno != errno.ENOENT: raise + versionflags = newversionflags + self.version = versionflags flags = versionflags & ~0xFFFF