comparison mercurial/unionrepo.py @ 27433:12f727a5b434

changegroup: add flags field to cg3 delta header This lets revlog flags be transmitted over the wire. Right now this is useful for censored nodes and for narrowhg's ellipsis nodes.
author Mike Edgar <adgar@google.com>
date Mon, 14 Dec 2015 15:55:12 -0500
parents 56b2bcea2529
children 443848eece18
comparison
equal deleted inserted replaced
27432:77d25b913f80 27433:12f727a5b434
49 self.bundlerevs = set() # used by 'bundle()' revset expression 49 self.bundlerevs = set() # used by 'bundle()' revset expression
50 for rev2 in self.revlog2: 50 for rev2 in self.revlog2:
51 rev = self.revlog2.index[rev2] 51 rev = self.revlog2.index[rev2]
52 # rev numbers - in revlog2, very different from self.rev 52 # rev numbers - in revlog2, very different from self.rev
53 _start, _csize, _rsize, base, linkrev, p1rev, p2rev, node = rev 53 _start, _csize, _rsize, base, linkrev, p1rev, p2rev, node = rev
54 flags = _start & 0xFFFF
54 55
55 if linkmapper is None: # link is to same revlog 56 if linkmapper is None: # link is to same revlog
56 assert linkrev == rev2 # we never link back 57 assert linkrev == rev2 # we never link back
57 link = n 58 link = n
58 else: # rev must be mapped from repo2 cl to unified cl by linkmapper 59 else: # rev must be mapped from repo2 cl to unified cl by linkmapper
67 continue 68 continue
68 69
69 p1node = self.revlog2.node(p1rev) 70 p1node = self.revlog2.node(p1rev)
70 p2node = self.revlog2.node(p2rev) 71 p2node = self.revlog2.node(p2rev)
71 72
72 e = (None, None, None, base, 73 e = (flags, None, None, base,
73 link, self.rev(p1node), self.rev(p2node), node) 74 link, self.rev(p1node), self.rev(p2node), node)
74 self.index.insert(-1, e) 75 self.index.insert(-1, e)
75 self.nodemap[node] = n 76 self.nodemap[node] = n
76 self.bundlerevs.add(n) 77 self.bundlerevs.add(n)
77 n += 1 78 n += 1