mercurial/changelog.py
branchstable
changeset 14687 15200b46165b
parent 14643 7e295dd10d40
child 15661 20ae902c43ec
--- 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: