diff --git a/mercurial/localrepo.py b/mercurial/localrepo.py --- a/mercurial/localrepo.py +++ b/mercurial/localrepo.py @@ -116,9 +116,9 @@ class localrepository(repo.repository): def _applyrequirements(self, requirements): self.requirements = requirements - self.sopener.options = {} - if 'generaldelta' in requirements: - self.sopener.options['generaldelta'] = 1 + openerreqs = set(('revlogv1', 'generaldelta')) + self.sopener.options = dict((r, 1) for r in requirements + if r in openerreqs) def _writerequirements(self): reqfile = self.opener("requires", "w") @@ -178,7 +178,6 @@ class localrepository(repo.repository): p = os.environ['HG_PENDING'] if p.startswith(self.root): c.readpending('00changelog.i.a') - self.sopener.options['defversion'] = c.version return c @propertycache diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -227,12 +227,11 @@ class revlog(object): v = REVLOG_DEFAULT_VERSION if hasattr(opener, 'options'): - if 'defversion' in opener.options: - v = opener.options['defversion'] - if v & REVLOGNG: - v |= REVLOGNGINLINEDATA - if v & REVLOGNG and 'generaldelta' in opener.options: - v |= REVLOGGENERALDELTA + if 'revlogv1' in opener.options: + if 'generaldelta' in opener.options: + v |= REVLOGGENERALDELTA + else: + v = 0 i = '' try: