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 ========================================================================