Mention `bisect next` in the documentation of bisect.
`bisect next` is only useful in rare cases and the result
can also be accomplished using other utilities (like reflog).
However, it is available as a bisect command and should hence be
documented.

Also mention the use case when no good commit is known.
Some user message in git-bisect.sh is changed to reflect that
use case. It is also simplified: there is no need to mention
running `bisect start` explicitly, because it can be done
indirectly using `bisect bad`.

Signed-off-by: Stephan Beyer <s-be...@gmx.net>
---

Notes:
    I rephrased the "Bisect next" section: no encouragement of checking
    out another branch (or commit) but mention that it recomputes the next
    commit, if one accidentally checked out another commit.

 Documentation/git-bisect.txt | 24 ++++++++++++++++++++++++
 git-bisect.sh                | 15 ++++-----------
 2 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/Documentation/git-bisect.txt b/Documentation/git-bisect.txt
index 7e79aae..c76765f 100644
--- a/Documentation/git-bisect.txt
+++ b/Documentation/git-bisect.txt
@@ -27,6 +27,7 @@ on the subcommand:
  git bisect replay <logfile>
  git bisect log
  git bisect run <cmd>...
+ git bisect next
  git bisect help
 
 This command uses a binary search algorithm to find which commit in
@@ -66,6 +67,15 @@ checks it out, and outputs something similar to the 
following:
 Bisecting: 675 revisions left to test after this (roughly 10 steps)
 ------------------------------------------------
 
+Note that in cases you do not know a good commit,
+you can also start with:
+
+------------------------------------------------
+$ git bisect start
+$ git bisect bad                 # current version is bad
+$ git bisect next                # check out another commit
+------------------------------------------------
+
 You should now compile the checked-out version and test it. If that
 version works correctly, type
 
@@ -353,6 +363,20 @@ rewind the tree to the pristine state.  Finally the script 
should exit
 with the status of the real test to let the `git bisect run` command loop
 determine the eventual outcome of the bisect session.
 
+Bisect next
+~~~~~~~~~~~
+
+In case you have marked a commit as bad but you do not know a good
+commit, you do not have to crawl through the commit history yourself to
+find a good commit. Simply issue the command:
+
+------------
+$ git bisect next
+------------
+
+In general, the command computes the next commit for the bisection and
+checks it out.
+
 OPTIONS
 -------
 --no-checkout::
diff --git a/git-bisect.sh b/git-bisect.sh
index 5d1cb00..5c93a27 100755
--- a/git-bisect.sh
+++ b/git-bisect.sh
@@ -334,16 +334,10 @@ bisect_next_check() {
        *)
                bad_syn=$(bisect_voc bad)
                good_syn=$(bisect_voc good)
-               if test -s "$GIT_DIR/BISECT_START"
-               then
-
-                       eval_gettextln "You need to give me at least one 
\$bad_syn and one \$good_syn revision.
-(You can use \"git bisect \$bad_syn\" and \"git bisect \$good_syn\" for 
that.)" >&2
-               else
-                       eval_gettextln "You need to start by \"git bisect 
start\".
-You then need to give me at least one \$good_syn and one \$bad_syn revision.
-(You can use \"git bisect \$bad_syn\" and \"git bisect \$good_syn\" for 
that.)" >&2
-               fi
+               eval_gettextln "You need to give me at least one \$bad_syn 
revision.
+Use \"git bisect \$bad_syn\" for that. One \$good_syn revision is also helpful
+for bisecting (use \"git bisect \$good_syn\"). If you do not know one 
\$good_syn
+revision, you can use \"git bisect next\" to find one." >&2
                exit 1 ;;
        esac
 }
@@ -677,7 +671,6 @@ case "$#" in
        skip)
                bisect_skip "$@" ;;
        next)
-               # Not sure we want "next" at the UI level anymore.
                bisect_next "$@" ;;
        visualize|view)
                bisect_visualize "$@" ;;
-- 
2.8.1.137.g522756c

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to