diff -r 07722bb8a08c -r 15200b46165b mercurial/changelog.py --- a/mercurial/changelog.py Wed Jun 01 16:32:48 2011 -0500 +++ b/mercurial/changelog.py Sat Jun 18 17:03:01 2011 -0500 @@ -100,9 +100,15 @@ 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 + # hiddenrevs: revs that should be hidden by command and tools + self.hiddenrevs = set() def delayupdate(self): "delay visibility of index updates to other readers" @@ -118,7 +124,9 @@ self.opener = self._realopener # move redirected index data back into place if self._divert: - n = self.opener(self.indexfile + ".a").name + nfile = self.opener(self.indexfile + ".a") + n = nfile.name + nfile.close() util.rename(n, n[:-2]) elif self._delaybuf: fp = self.opener(self.indexfile, 'a') @@ -185,7 +193,7 @@ try: # various tools did silly things with the time zone field. timezone = int(extra_data[0]) - except: + except ValueError: timezone = 0 extra = {} else: