##// END OF EJS Templates
unionrepo: take delta base in account with building unified revlog...
Pierre-Yves David -
r26230:6b16a353 default
parent child Browse files
Show More
@@ -49,7 +49,7 b' class unionrevlog(revlog.revlog):'
49 for rev2 in self.revlog2:
49 for rev2 in self.revlog2:
50 rev = self.revlog2.index[rev2]
50 rev = self.revlog2.index[rev2]
51 # rev numbers - in revlog2, very different from self.rev
51 # rev numbers - in revlog2, very different from self.rev
52 _start, _csize, _rsize, _base, linkrev, p1rev, p2rev, node = rev
52 _start, _csize, _rsize, base, linkrev, p1rev, p2rev, node = rev
53
53
54 if linkmapper is None: # link is to same revlog
54 if linkmapper is None: # link is to same revlog
55 assert linkrev == rev2 # we never link back
55 assert linkrev == rev2 # we never link back
@@ -57,6 +57,9 b' class unionrevlog(revlog.revlog):'
57 else: # rev must be mapped from repo2 cl to unified cl by linkmapper
57 else: # rev must be mapped from repo2 cl to unified cl by linkmapper
58 link = linkmapper(linkrev)
58 link = linkmapper(linkrev)
59
59
60 if linkmapper is not None: # link is to same revlog
61 base = linkmapper(base)
62
60 if node in self.nodemap:
63 if node in self.nodemap:
61 # this happens for the common revlog revisions
64 # this happens for the common revlog revisions
62 self.bundlerevs.add(self.nodemap[node])
65 self.bundlerevs.add(self.nodemap[node])
@@ -65,7 +68,7 b' class unionrevlog(revlog.revlog):'
65 p1node = self.revlog2.node(p1rev)
68 p1node = self.revlog2.node(p1rev)
66 p2node = self.revlog2.node(p2rev)
69 p2node = self.revlog2.node(p2rev)
67
70
68 e = (None, None, None, None,
71 e = (None, None, None, base,
69 link, self.rev(p1node), self.rev(p2node), node)
72 link, self.rev(p1node), self.rev(p2node), node)
70 self.index.insert(-1, e)
73 self.index.insert(-1, e)
71 self.nodemap[node] = n
74 self.nodemap[node] = n
General Comments 0
You need to be logged in to leave comments. Login now