lkml.org 
[lkml]   [2005]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: rc6 keeps hanging and blanking displays where rc4-mm1 works fine.


On Thu, 8 Sep 2005, Andrew Morton wrote:
> Linus Torvalds <torvalds@osdl.org> wrote:
> >
> > If you remember/save the good/bad commit ID's, you can restart the whole
> > process and just feed the correct state for the ID's:
> >
> > git bisect start
> > git bisect bad v2.6.13-rc5
> > git bisect good v2.6.13-rc4
> > .. here bisect will start narrowing things down ..
> > git bisect bad <sha1 of known bad>
> > git bisect good <sha1 of known good>
> > ..
>
> What do you suggest should be done if you hit a compile error partway
> through the bisection search? Is there some way to go forward or backward
> a few csets while keeping the search markers sane?

Hmm.. There's no really nice interface for doing it, but since bisection
uses a perfectly normal git branch (it's a special "bisect" branch) you
can use other git commands to move around the head of that branch and try
at any other point than the one it selected for you automatically.

In other words, you can "git reset" the head point of the branch to any
point you want to, and the only problem is to pick what point to try next
(since you don't want to mark the current point good or bad). One thing to
do is perhaps to just do:

git bisect visualize

which just starts "gitk" with the proper arguments that you can see what
we're currently looking at bisecting. Then you can pick a new point to
select as the bisection point by hand, and then do

git reset --hard <sha-of-that-point>

by just selecting that commit in gitk and pasting the result into that
"git reset --hard xyz.." command line.

("git reset --hard ..." will reset the current branch to the selected
point and force a checkout of the new state while its at it. It's pretty
much equivalent to "git reset ..." followed by a "git checkout -f").

Of course, you can pick the bisection point with any other means too. So
if you just do "git log" and you know what commit broke the compile, just
pick the father by hand.

The only important point is that you should obviously pick something that
is within the current known good/bad range, and that's where the
aforementioned "git bisect visualize" can help.

Oh, and the "git bisect visualize" thing is fairly new: if you have an
older version of git that doesn't have that nice helper function, you can
always do it by hand with the following magic command line.

gitk bisect/bad --not $(cd .git/refs && echo bisect/good-*)

(you can see how "git bisect visualize" is a bit simpler to type and
remember ;)

Linus
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2009-11-18 23:46    [W:0.129 / U:11.216 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site