bundlerepo: build revlog index with flags

This fixes bundlerevlog.flags(rev) for any revisions provided by the bundle.

Now test-flagprocessor.t points us to another issue.
This commit is contained in:
Jun Wu 2017-04-06 18:06:42 -07:00
parent 336e7d4e7c
commit 062c44135c
2 changed files with 4 additions and 2 deletions

View File

@ -65,6 +65,7 @@ class bundlerevlog(revlog.revlog):
cs = chunkdata['cs']
deltabase = chunkdata['deltabase']
delta = chunkdata['delta']
flags = chunkdata['flags']
size = len(delta)
start = bundle.tell() - size
@ -87,7 +88,7 @@ class bundlerevlog(revlog.revlog):
baserev = self.rev(deltabase)
# start, size, full unc. size, base (unused), link, p1, p2, node
e = (revlog.offset_type(start, 0), size, -1, baserev, link,
e = (revlog.offset_type(start, flags), size, -1, baserev, link,
self.rev(p1), self.rev(p2), node)
self.index.insert(-1, e)
self.nodemap[node] = n

View File

@ -188,7 +188,8 @@
4 changesets found
$ hg --config extensions.strip= strip -r 2 --no-backup --force -q
$ hg -R bundle.hg log --stat -T '{rev} {desc}\n' base64 2>&1 | egrep -v '^(\*\*| )'
abort: integrity check failed on data/base64.i:2!
Traceback (most recent call last):
mercurial.mpatch.mpatchError: invalid patch
$ hg bundle -R bundle.hg --base 1 bundle-again.hg -q 2>&1 | egrep -v '^(\*\*| )'
Traceback (most recent call last):