Web lists-archives.com

[PATCH] bisect: clarify that one can select multiple good commits




Current man page for "bisect" is inconsistent explaining the fact that
"git bisect" takes precisely one bad commit, but one or more good
commits, so tweak the man page in a few places to make that clear.

rday

Signed-off-by: Robert P. J. Day <rpjday@xxxxxxxxxxxxxx>

---

  i also exercised literary license to reword an example to look for a
commit where performance was *degraded* rather than improved, since i
think that's the sort of thing that people would be more interested
in.

  also tried to keep line lengths consistent.

diff --git a/Documentation/git-bisect.txt b/Documentation/git-bisect.txt
index 6c42abf07..545098e73 100644
--- a/Documentation/git-bisect.txt
+++ b/Documentation/git-bisect.txt
@@ -30,17 +30,17 @@ on the subcommand:
  git bisect help

 This command uses a binary search algorithm to find which commit in
-your project's history introduced a bug. You use it by first telling
-it a "bad" commit that is known to contain the bug, and a "good"
-commit that is known to be before the bug was introduced. Then `git
-bisect` picks a commit between those two endpoints and asks you
+your project's history introduced a bug. You use it by first telling it
+a "bad" commit that is known to contain the bug, and one or more "good"
+commits that are known to be before the bug was introduced. Then `git
+bisect` picks a commit somewhere in between those commits and asks you
 whether the selected commit is "good" or "bad". It continues narrowing
 down the range until it finds the exact commit that introduced the
 change.

 In fact, `git bisect` can be used to find the commit that changed
 *any* property of your project; e.g., the commit that fixed a bug, or
-the commit that caused a benchmark's performance to improve. To
+the commit that caused a benchmark's performance to degrade. To
 support this more general usage, the terms "old" and "new" can be used
 in place of "good" and "bad", or you can choose your own terms. See
 section "Alternate terms" below for more information.
@@ -58,7 +58,7 @@ $ git bisect bad                 # Current version is bad
 $ git bisect good v2.6.13-rc2    # v2.6.13-rc2 is known to be good
 ------------------------------------------------

-Once you have specified at least one bad and one good commit, `git
+Once you have specified one bad and one or more good commits, `git
 bisect` selects a commit in the middle of that range of history,
 checks it out, and outputs something similar to the following:

@@ -137,7 +137,7 @@ respectively, in place of "good" and "bad". (But note that you cannot
 mix "good" and "bad" with "old" and "new" in a single session.)

 In this more general usage, you provide `git bisect` with a "new"
-commit that has some property and an "old" commit that doesn't have that
+commit with some property and some "old" commits that don't have that
 property. Each time `git bisect` checks out a commit, you test if that
 commit has the property. If it does, mark the commit as "new";
 otherwise, mark it as "old". When the bisection is done, `git bisect`
@@ -145,19 +145,19 @@ will report which commit introduced the property.

 To use "old" and "new" instead of "good" and bad, you must run `git
 bisect start` without commits as argument and then run the following
-commands to add the commits:
+commands to identify the commits:

 ------------------------------------------------
-git bisect old [<rev>]
+git bisect old [<rev>...]
 ------------------------------------------------

-to indicate that a commit was before the sought change, or
+to identify commits before the sought change, or

 ------------------------------------------------
-git bisect new [<rev>...]
+git bisect new [<rev>]
 ------------------------------------------------

-to indicate that it was after.
+to indicate a single commit after that change.

 To get a reminder of the currently used terms, use


-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================