histedit: fix --continue and --abort when curses is enabled
authorAugie Fackler <augie@google.com>
Wed, 09 Jan 2019 18:00:20 -0500
changeset 41175 9bc7ec924234
parent 41174 08dd462ea782
child 41176 4475322b7533
histedit: fix --continue and --abort when curses is enabled I overlooked this when I did the initial import. Differential Revision: https://phab.mercurial-scm.org/D5540
hgext/histedit.py
tests/test-histedit-non-commute.t
--- a/hgext/histedit.py	Thu Jan 10 21:57:21 2019 +0900
+++ b/hgext/histedit.py	Wed Jan 09 18:00:20 2019 -0500
@@ -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)
 
--- a/tests/test-histedit-non-commute.t	Thu Jan 10 21:57:21 2019 +0900
+++ b/tests/test-histedit-non-commute.t	Wed Jan 09 18:00:20 2019 -0500
@@ -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