diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -1474,18 +1474,8 @@ repo.ui.debug(b" merge against %d:%s\n" % (rev, ctx)) if base is not None: repo.ui.debug(b" detach base %d:%s\n" % (base, repo[base])) - - # See explanation in merge.graft() - mergeancestor = repo.changelog.isancestor(p1ctx.node(), ctx.node()) - stats = mergemod.update( - repo, - rev, - branchmerge=True, - force=True, - ancestor=base, - mergeancestor=mergeancestor, - labels=[b'dest', b'source'], - wc=wctx, + stats = mergemod.graft( + repo, ctx, repo[base], labels=[b'dest', b'source'], wctx=wctx, ) wctx.setparents(p1ctx.node(), repo[p2].node()) if collapse: