error: add structured exception for EOF at prompt
We'll catch this exception for promptchoice queries to provide better error
handling.
--- a/mercurial/error.py Mon Nov 09 22:37:32 2015 -0800
+++ b/mercurial/error.py Tue Nov 10 00:46:45 2015 -0800
@@ -72,6 +72,12 @@
class UpdateAbort(Abort):
"""Raised when an update is aborted for destination issue"""
+class ResponseExpected(Abort):
+ """Raised when an EOF is received for a prompt"""
+ def __init__(self):
+ from .i18n import _
+ Abort.__init__(self, _('response expected'))
+
class OutOfBandError(Exception):
"""Exception raised when a remote repo reports failure"""
--- a/mercurial/ui.py Mon Nov 09 22:37:32 2015 -0800
+++ b/mercurial/ui.py Tue Nov 10 00:46:45 2015 -0800
@@ -756,7 +756,7 @@
self.write(r, "\n")
return r
except EOFError:
- raise error.Abort(_('response expected'))
+ raise error.ResponseExpected()
@staticmethod
def extractchoices(prompt):
@@ -803,7 +803,7 @@
else:
return getpass.getpass('')
except EOFError:
- raise error.Abort(_('response expected'))
+ raise error.ResponseExpected()
def status(self, *msg, **opts):
'''write status message to output (if ui.quiet is False)