Re: rc6 keeps hanging and blanking displays where rc4-mm1 works fine.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On Thu, 8 Sep 2005, Andrew Morton wrote:
> Linus Torvalds <[email protected]> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]
  Powered by Linux