--- a/mercurial/hbisect.py Fri Nov 08 11:49:13 2013 +0100
+++ b/mercurial/hbisect.py Sun Nov 10 18:51:21 2013 +0100
@@ -62,7 +62,8 @@
badrev, ancestors = buildancestors(state['good'], state['bad'])
bad = changelog.node(badrev)
if not ancestors: # now we're confused
- if len(state['bad']) == 1 and len(state['good']) == 1:
+ if (len(state['bad']) == 1 and len(state['good']) == 1 and
+ state['bad'] != state['good']):
raise util.Abort(_("starting revisions are not directly related"))
raise util.Abort(_("inconsistent state, %s:%s is good and bad")
% (badrev, short(bad)))
--- a/tests/test-bisect.t Fri Nov 08 11:49:13 2013 +0100
+++ b/tests/test-bisect.t Sun Nov 10 18:51:21 2013 +0100
@@ -280,7 +280,7 @@
$ hg bisect -r
$ hg bisect -g tip
$ hg bisect -b tip
- abort: starting revisions are not directly related
+ abort: inconsistent state, 31:58c80a7c8a40 is good and bad
[255]
$ hg bisect -r