git bisect start [<paths>...] +git bisect start [<bad> [<good>...]] [--] [<paths>...] git bisect bad <rev> git bisect good <rev> git bisect reset [<branch>] @@ -372,13 +372,23 @@ $ git reset --hard HEAD~3 # try 3 revs before what
From 12a3a233f89942d86ddf8c57697a2c2486c07f11 Mon Sep 17 00:00:00 2001
From: Junio C Hamano
git bisect start [<paths>...] +git bisect start [<bad> [<good>...]] [--] [<paths>...] git bisect bad <rev> git bisect good <rev> git bisect reset [<branch>] @@ -372,13 +372,23 @@ $ git reset --hard HEAD~3 # try 3 revs before what
Then compile and test the one you chose to try. After that, tell bisect what the result was as usual.
-You can further cut down the number of trials if you know what part of the tree is involved in the problem you are tracking down, by giving paths parameters when you say bisect start, like this:
$ git bisect start arch/i386 include/asm-i386+
$ git bisect start -- arch/i386 include/asm-i386+
If you know beforehand more than one good commits, you can narrow the +bisect space down without doing the whole tree checkout every time you +give good commits. You give the bad revision immediately after start +and then you give all the good revisions you have:
+$ git bisect start v2.6.20-rc6 v2.6.20-rc4 v2.6.20-rc1 -- + # v2.6.20-rc6 is bad + # v2.6.20-rc4 and v2.6.20-rc1 are good
If you have a script that can tell if the current source code is good @@ -421,7 +431,7 @@ know the outcome.