Mercurial > public > mercurial-scm > hg-stable
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 |