Mercurial > public > mercurial-scm > hg-stable
diff hgext/rebase.py @ 26675:b73eb98c0243
rebase: properly handle chains of markers with missing nodes
As obsolescence markers can contains unknown nodes and 'allsuccessors' returns
them, we have to protect again that when looking for successors of the rebase
set in the destination.
Test have been expanded to catch that.
author | Pierre-Yves David <pierre-yves.david@fb.com> |
---|---|
date | Thu, 15 Oct 2015 00:32:20 +0100 |
parents | fd4a38bd7e49 |
children | e9b3d523f2e6 |
line wrap: on
line diff
--- a/hgext/rebase.py Wed Oct 14 23:42:15 2015 +0100 +++ b/hgext/rebase.py Thu Oct 15 00:32:20 2015 +0100 @@ -1167,7 +1167,10 @@ if n.obsolete(): node = cl.node(r) for s in obsolete.allsuccessors(repo.obsstore, [node]): - allsuccessors[cl.rev(s)] = cl.rev(node) + try: + allsuccessors[cl.rev(s)] = cl.rev(node) + except LookupError: + pass if allsuccessors: # Look for successors of obsolete nodes to be rebased among