Re: GIT bisection range errors

From: Ken Moffat
Date: Fri May 09 2008 - 17:10:33 EST


On Thu, May 08, 2008 at 04:33:04PM -0700, Roland Dreier wrote:
> > > $ git checkout -b rc v2.6.26-rc1
> > > $ git bisect start
> > > $ git bisect bad
> > > $ git bisect good v2.6.25
> > >
> > > Yet, during this I'm finding myself at 2.6.25-rc6 and 2.6.25-rc8
> > > as the last two results (both good...).
>
> > I reported a similar thing at the beginning of April
> > http://lkml.org/lkml/2008/4/2/390 - 2.6.25-rc1 bad, 2.6.24 good, git
> > dropped me back at 2.6.24-rc4 (again, according to the top level
> > Makefile).
>
> This is normal and expected, due to the distributed nature of git and
> the fact that git-bisect operates on the full topology of history and
> not just a linear sequence of commits.
>
> Imagine history like:
>
> A---B---C---D
> \ /
> \ /
> \ /
> E---F
>
> where B is good and D is bad. Now, when you bisect, there is no way to
> know whether, say, E is good or bad and hence the bisect process may
> present E as a tree to try.
>
> Now, if B is the 2.6.25 release, then since E branched off before B, it
> will have a Makefile that says 2.6.25-rcX. Which is exactly the
> behavior you are seeing.
>
> In short, everything looks fine and is behaving as expected.
>
> - R.

But, surely those of us who bisect against linus' tree only
care about the commits which made it into his tree, and in the
context of whatever else was in _his_ tree at the time ?

Maybe I'm under a misapprehension about changesets and merges. I
thought a merge was just pulling in a series of changesets, and that
each changeset only contains related items (comment, changed lines,
added files, deleted files).

Whatever else may be in tree E, I don't expect it to have a commit
which changes $EXTRAVERSION, purely because tree E is not Linus'
tree. To me, that field is somewhat special - it indicates where I am
(e.g. if bisecting across multiple rcs, or even across multiple
releases) and it determines where the modules will go.

I see from Linus' reply to the original mail that this is indeed
normal. That certainly isn't the word I would choose to use : we
give things names to describe them and in this case the EXTRAVERSION
appears to inhabit a parrallel universe to the pre-existing usage
of "2.6.24 good, 2.6.25-rc1 bad". Colour me more confused than ever.

Ken
--
das eine Mal als Tragödie, das andere Mal als Farce
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/