changeset 856:4538981d2c3f

overlaychangelog: return tuples for read() I have no idea why this used to return a changectx -- changelog.read() in core has always returned a tuple.
author Siddharth Agarwal <sid0@fb.com>
date Mon, 26 Jan 2015 17:46:55 -0800
parents eba7dcfab1bb
children 15d2b119ca99
files hggit/overlay.py
diffstat 1 files changed, 8 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/hggit/overlay.py
+++ b/hggit/overlay.py
@@ -191,6 +191,10 @@
         except ImportError:
             return 1
 
+    def totuple(self):
+        return (self.commit.tree, self.user(), self.date(), self.files(),
+                self.description(), self.extra())
+
 class overlayrevlog(object):
     def __init__(self, repo, base):
         self.repo = repo
@@ -261,8 +265,10 @@
             sha = self.node(sha)
         if sha == nullid:
             return (nullid, "", (0, 0), [], "", {})
-        return overlaychangectx(self.repo, sha)
-
+        try:
+            return self.base.read(sha)
+        except LookupError:
+            return overlaychangectx(self.repo, sha).totuple()
 
 class overlayrepo(object):
     def __init__(self, handler, commits, refs):