diff -r a3ce07e2dde5 -r 1814ca418b30 mercurial/branchmap.py --- a/mercurial/branchmap.py Thu Aug 10 18:46:55 2017 -0400 +++ b/mercurial/branchmap.py Thu Aug 10 20:47:19 2017 -0700 @@ -406,7 +406,8 @@ # fast path: extract data from cache, use it if node is matching reponode = changelog.node(rev)[:_rbcnodelen] - cachenode, branchidx = unpack_from(_rbcrecfmt, self._rbcrevs, rbcrevidx) + cachenode, branchidx = unpack_from( + _rbcrecfmt, util.buffer(self._rbcrevs), rbcrevidx) close = bool(branchidx & _rbccloseflag) if close: branchidx &= _rbcbranchidxmask