diff --git a/hgext/histedit.py b/hgext/histedit.py --- a/hgext/histedit.py +++ b/hgext/histedit.py @@ -1593,7 +1593,10 @@ for intentional "edit" command, but also for resolving unexpected conflicts). """ - if ui.interface('histedit') == 'curses': + # kludge: _chistedit only works for starting an edit, not aborting + # or continuing, so fall back to regular _texthistedit for those + # operations. + if ui.interface('histedit') == 'curses' and _getgoal(opts) == goalnew: return _chistedit(ui, repo, *freeargs, **opts) return _texthistedit(ui, repo, *freeargs, **opts) diff --git a/tests/test-histedit-non-commute.t b/tests/test-histedit-non-commute.t --- a/tests/test-histedit-non-commute.t +++ b/tests/test-histedit-non-commute.t @@ -161,7 +161,10 @@ warning: conflicts while merging e! (edit, then use 'hg resolve --mark') Fix up the change (pick 7b4e2f4b7bcd) (hg histedit --continue to resume) - $ hg histedit --continue 2>&1 | fixbundle +We forcibly enable curses here so we can verify that continuing works +with curses enabled. + $ hg histedit --continue --config ui.interactive=true \ + > --config ui.interface=curses 2>&1 | fixbundle abort: unresolved merge conflicts (see 'hg help resolve') This failure is caused by 7b4e2f4b7bcd "e" not rebasing the non commutative