# HG changeset patch
# User Martin von Zweigbergk <martinvonz@google.com>
# Date 1605656562 28800
#      Tue Nov 17 15:42:42 2020 -0800
# Node ID e641bb2a61597ddc94f090f243b4e3b3fce141a0
# Parent  1a72e483979581e37a5bf2d89eec343cc0c98c1e
errors: raise StateError in `hg bisect`

Differential Revision: https://phab.mercurial-scm.org/D9337

diff --git a/mercurial/hbisect.py b/mercurial/hbisect.py
--- a/mercurial/hbisect.py
+++ b/mercurial/hbisect.py
@@ -172,13 +172,13 @@
 def checkstate(state):
     """check we have both 'good' and 'bad' to define a range
 
-    Raise Abort exception otherwise."""
+    Raise StateError exception otherwise."""
     if state[b'good'] and state[b'bad']:
         return True
     if not state[b'good']:
-        raise error.Abort(_(b'cannot bisect (no known good revisions)'))
+        raise error.StateError(_(b'cannot bisect (no known good revisions)'))
     else:
-        raise error.Abort(_(b'cannot bisect (no known bad revisions)'))
+        raise error.StateError(_(b'cannot bisect (no known bad revisions)'))
 
 
 @contextlib.contextmanager
diff --git a/tests/test-bisect.t b/tests/test-bisect.t
--- a/tests/test-bisect.t
+++ b/tests/test-bisect.t
@@ -364,7 +364,7 @@
   $ hg bisect -r
   $ hg bisect
   abort: cannot bisect (no known good revisions)
-  [255]
+  [20]
 
 
 reproduce AssertionError, issue1445
@@ -475,7 +475,7 @@
   $ hg bisect --command "\"$PYTHON\" \"$TESTTMP/script.py\" and some parameters"
   changeset 31:58c80a7c8a40: good
   abort: cannot bisect (no known bad revisions)
-  [255]
+  [20]
   $ hg up -qr 0
   $ hg bisect --command "\"$PYTHON\" \"$TESTTMP/script.py\" and some parameters"
   changeset 0:b99c7b9c8e11: bad
@@ -545,7 +545,7 @@
   $ hg bisect --command "sh \"$TESTTMP/script.sh\" and some params"
   changeset 31:58c80a7c8a40: good
   abort: cannot bisect (no known bad revisions)
-  [255]
+  [20]
   $ hg up -qr 0
   $ hg bisect --command "sh \"$TESTTMP/script.sh\" and some params"
   changeset 0:b99c7b9c8e11: bad