Skip to content
Snippets Groups Projects
Commit 88d5abec8f61 authored by Jörg Sonnenberger's avatar Jörg Sonnenberger
Browse files

bundlerepo: don't insert index tuples with full nodes as linkrev

The index format has a documented format and latter changes will start
to enforce the field types. The bundlerepo uses full nodes for the
linkrev field when it should be using revision numbers. Use the link
mapping to resolve them, except in the special case of self-references.
Those are actually indications of a missing linkrev.

Differential Revision: https://phab.mercurial-scm.org/D9160
parent 57dc78861196
No related branches found
No related tags found
No related merge requests found
......@@ -63,8 +63,7 @@
size = len(delta)
start = cgunpacker.tell() - size
link = linkmapper(cs)
if self.index.has_node(node):
# this can happen if two branches make the same change
self.bundlerevs.add(self.index.rev(node))
continue
......@@ -67,7 +66,11 @@
if self.index.has_node(node):
# this can happen if two branches make the same change
self.bundlerevs.add(self.index.rev(node))
continue
if cs == node:
linkrev = nullrev
else:
linkrev = linkmapper(cs)
for p in (p1, p2):
if not self.index.has_node(p):
......@@ -87,7 +90,7 @@
size,
-1,
baserev,
link,
linkrev,
self.rev(p1),
self.rev(p2),
node,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment