Re: git bisect selects commit outside initial bisect range?

From: Valdis . Kletnieks
Date: Mon Sep 27 2010 - 17:52:40 EST


On Mon, 27 Sep 2010 22:29:13 +0200, Andreas Schwab said:
> PaweÅ? Sikora <pluto@xxxxxxxx> writes:
>
> > i've started git bisect between good-v2.6.34 and bad-v2.6.35-rc1
> > and after few steps git-bisect jumps to commit before v2.6.34.
> >
> > [~/src/linux/linux-2.6]$ make kernelrelease
> > 2.6.34-rc6-00551-g7a6cb0d
> >
> > is it normal that bisect selects next step outside initial range?
>
> It's not outside the range:
>
> $ git rev-list v2.6.34..v2.6.35-rc1 | grep ^7a6cb0d
> 7a6cb0d5497418599d2125b670926b75e673861c
>
> 7a6cb0d is a commit in a branch reachable from v2.6.35-rc1 but not from
> v2.6.34.

I think he was confused because that commit is in an section of the tree
that was committed to a maintainer tree before 2.6.34 - so when he boots
the resulting kernel it says 2.6.33-rc3-mumble or similar. I know it threw
me for a loop the first few times it happened.

Pawel: What's happened is you're looking at a commit that got into a maintainer
tree *before* 2.6.34 came out (so the top-level Makefile *at that time in that
tree* said 2.6.33-mumble or something), but the maintainer fed it into Linus's
tree in the merge window *after* 2.6.34 shipped. Yes, it's bizarre, but that's
how git deals with it. If you look at the graph produced by 'git bisect
visualize' it makes a bit more sense.

Attachment: pgp00000.pgp
Description: PGP signature