From: "Robert P. J. Day" <rpjday@crashcourse.ca>
To: Git Mailing list <git@vger.kernel.org>
Subject: [PATCH] bisect: clarify that one can select multiple good commits
Date: Sat, 11 Nov 2017 08:26:00 -0500 (EST) [thread overview]
Message-ID: <alpine.LFD.2.21.1711110820370.8941@localhost.localdomain> (raw)
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@crashcourse.ca>
---
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
========================================================================
next reply other threads:[~2017-11-11 13:26 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-11 13:26 Robert P. J. Day [this message]
2017-11-11 13:44 ` [PATCH] bisect: clarify that one can select multiple good commits Kevin Daudt
2017-11-11 13:46 ` Robert P. J. Day
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=alpine.LFD.2.21.1711110820370.8941@localhost.localdomain \
--to=rpjday@crashcourse.ca \
--cc=git@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).