diff --git a/hgext/rebase.py b/hgext/rebase.py --- a/hgext/rebase.py +++ b/hgext/rebase.py @@ -406,8 +406,10 @@ def externalparent(repo, state, targetan return nullrev if len(parents) == 1: return parents.pop() - raise util.Abort(_('unable to collapse, there is more ' - 'than one external parent')) + raise util.Abort(_('unable to collapse on top of %s, there is more ' + 'than one external parent: %s') % + (max(targetancestors), + ', '.join(str(p) for p in sorted(parents)))) def concludenode(repo, rev, p1, p2, commitmsg=None, editor=None, extrafn=None): 'Commit the changes and store useful information in extra' diff --git a/tests/test-rebase-collapse.t b/tests/test-rebase-collapse.t --- a/tests/test-rebase-collapse.t +++ b/tests/test-rebase-collapse.t @@ -226,7 +226,7 @@ Rebase and collapse - more than one exte $ cd b1 $ hg rebase -s 2 --collapse - abort: unable to collapse, there is more than one external parent + abort: unable to collapse on top of 7, there is more than one external parent: 1, 5 [255] Rebase and collapse - E onto H: