diff -r 66257848c154 -r d6907a5674a2 mercurial/localrepo.py --- a/mercurial/localrepo.py Sun May 08 21:24:30 2011 +0200 +++ b/mercurial/localrepo.py Sun May 08 21:32:33 2011 +0200 @@ -21,7 +21,7 @@ class localrepository(repo.repository): capabilities = set(('lookup', 'changegroupsubset', 'branchmap', 'pushkey', 'known', 'getbundle')) - supportedformats = set(('revlogv1',)) + supportedformats = set(('revlogv1', 'generaldelta')) supported = supportedformats | set(('store', 'fncache', 'shared', 'dotencode')) @@ -61,6 +61,8 @@ '\0\0\0\2' # represents revlogv2 ' dummy changelog to prevent using the old repo layout' ) + if self.ui.configbool('format', 'generaldelta', False): + requirements.append("generaldelta") else: raise error.RepoError(_("repository %s not found") % path) elif create: @@ -115,6 +117,8 @@ def _applyrequirements(self, requirements): self.requirements = requirements self.sopener.options = {} + if 'generaldelta' in requirements: + self.sopener.options['generaldelta'] = 1 def _writerequirements(self): reqfile = self.opener("requires", "w")