diff --git a/mercurial/unionrepo.py b/mercurial/unionrepo.py --- a/mercurial/unionrepo.py +++ b/mercurial/unionrepo.py @@ -47,10 +47,13 @@ self.repotiprev = n - 1 self.bundlerevs = set() # used by 'bundle()' revset expression for rev2 in self.revlog2: - rev = self.revlog2.index[rev2] - # rev numbers - in revlog2, very different from self.rev - _start, _csize, _rsize, base, linkrev, p1rev, p2rev, node = rev - flags = _start & 0xFFFF + entry = self.revlog2.index[rev2] + flags = entry.offsetflags & 0xFFFF + base = entry.baserev + linkrev = entry.linkrev + p1rev = entry.p1rev + p2rev = entry.p2rev + node = entry.node if linkmapper is None: # link is to same revlog assert linkrev == rev2 # we never link back