From: Junio C Hamano Date: Thu, 04 Aug 2005 06:57:01 GMT Subject: Re: bisect gives strange answer Message-ID: <7v8xzi42bm.fsf@assigned-by-dhcp.cox.net> In-Reply-To: Sanjoy Mahajan writes: > + git bisect bad > Bisecting: 2 revisions left to test after this > + cat .git/HEAD > b4634484815e1879512a23e4f59eef648135c30a > + git bisect bad > b4634484815e1879512a23e4f59eef648135c30a is first bad commit > diff-tree b4634484815e1879512a23e4f59eef648135c30a (from 3d3c2ae1101c1f2dff7e2f9d514769779dbd2737) > The answer makes no sense since my .config doesn't use the bt87x driver > (the TP600X uses a snd-cs46xx). To be sure, I checked the diff with > > git diff 3d3c2ae1101c1f2dff7e2f9d514769779dbd2737..b4634484815e1879512a23e4f59eef648135c30a > > The commit changed only sound/pci/bt87x.c > > I do believe this line at the end of the bisection: > > b4634484815e1879512a23e4f59eef648135c30a is first bad commit >... > I suspect that bisect jumped the gun at the end, and that there are a > few more revisions to test. Thank you for a very useful reproduction recipe. I think this is my bug. Could you try this please? ------------ diff --git a/git-bisect-script b/git-bisect-script --- a/git-bisect-script +++ b/git-bisect-script @@ -107,8 +107,8 @@ bisect_next() { rev=$(eval "git-rev-list --bisect $good $bad") || exit nr=$(eval "git-rev-list $rev $good" | wc -l) || exit if [ "$nr" -le "1" ]; then - echo "$bad is first bad commit" - git-diff-tree --pretty $bad + echo "$rev is first bad commit" + git-diff-tree --pretty $rev exit 0 fi echo "Bisecting: $nr revisions left to test after this"