mercurial/revlog.py
changeset 30289 1f92056c4066
parent 30288 ceddc3d94d74
child 30391 2ded17b64f09
--- a/mercurial/revlog.py	Sat Oct 22 15:41:23 2016 -0700
+++ b/mercurial/revlog.py	Sun Oct 23 10:40:33 2016 -0700
@@ -1113,9 +1113,12 @@
         # (functions are expensive).
         index = self.index
         istart = index[startrev]
-        iend = index[endrev]
         start = int(istart[0] >> 16)
-        end = int(iend[0] >> 16) + iend[1]
+        if startrev == endrev:
+            end = start + istart[1]
+        else:
+            iend = index[endrev]
+            end = int(iend[0] >> 16) + iend[1]
 
         if self._inline:
             start += (startrev + 1) * self._io.size