# HG changeset patch # User Sune Foldager # Date 2011-05-16 11:06:48 # Node ID 85c82ebc96a3611890b716f2ca5534cb92c6dbd5 # Parent 31a5973fcf96ad9a7b9bb43296ee877c203b3e62 changelog: don't use generaldelta diff --git a/mercurial/changelog.py b/mercurial/changelog.py --- a/mercurial/changelog.py +++ b/mercurial/changelog.py @@ -100,6 +100,10 @@ def delayopener(opener, target, divert, class changelog(revlog.revlog): def __init__(self, opener): revlog.revlog.__init__(self, opener, "00changelog.i") + if self._initempty: + # changelogs don't benefit from generaldelta + self.version &= ~revlog.REVLOGGENERALDELTA + self._generaldelta = False self._realopener = opener self._delayed = False self._divert = False diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -234,12 +234,14 @@ class revlog(object): v = 0 i = '' + self._initempty = True try: f = self.opener(self.indexfile) i = f.read() f.close() if len(i) > 0: v = struct.unpack(versionformat, i[:4])[0] + self._initempty = False except IOError, inst: if inst.errno != errno.ENOENT: raise