diff --git a/mercurial/revlog.py b/mercurial/revlog.py --- a/mercurial/revlog.py +++ b/mercurial/revlog.py @@ -2337,7 +2337,15 @@ curr = len(self) prev = curr - 1 - offset = self.end(prev) + if self.version & 0xFFFF == REVLOGV2: + prev_node = self.index[prev] + sidedata_offset = prev_node[10] + if sidedata_offset == 0: + offset = self.end(prev) + else: + offset = sidedata_offset + prev_node[11] + else: + offset = self.end(prev) p1r, p2r = self.rev(p1), self.rev(p2) # full versions are inserted when the needed deltas