diff -r 65f3a77223e0 -r b3fc78c028ef hgext/absorb.py --- a/hgext/absorb.py Wed May 08 18:11:33 2019 -0400 +++ b/hgext/absorb.py Wed May 08 21:25:23 2019 -0700 @@ -914,7 +914,10 @@ """ if stack is None: limit = ui.configint('absorb', 'max-stack-size') - stack = getdraftstack(repo['.'], limit) + headctx = repo['.'] + if len(headctx.parents()) > 1: + raise error.Abort(_('cannot absorb into a merge')) + stack = getdraftstack(headctx, limit) if limit and len(stack) >= limit: ui.warn(_('absorb: only the recent %d changesets will ' 'be analysed\n')