diff -r ceddc3d94d74 -r 1f92056c4066 mercurial/revlog.py --- 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