Does "git bisect" work for anyone?
Simon Marchi
simark@simark.ca
Tue Oct 6 21:29:34 GMT 2020
On 2020-10-03 9:57 a.m., H.J. Lu via Gdb wrote:
> On Fri, Oct 2, 2020 at 11:27 PM Andreas Schwab <schwab@linux-m68k.org> wrote:
>>
>> On Okt 02 2020, H.J. Lu via Binutils wrote:
>>
>>> On master branch, I got
>>>
>>> $ git checkout d0e70c4189d5d6a6e63b85c1d3c10c74852173b4
>>> Previous HEAD position was 5a805384b83 asan: readelf buffer overflow and abort
>>> HEAD is now at d0e70c4189d Automatic date update in version.in
>>> $ git bisect good
>>> $ git checkout fe07b5721a64a84e36ec63e15638b87655faf1bf
>>> Previous HEAD position was d0e70c4189d Automatic date update in version.in
>>> HEAD is now at fe07b5721a6 gdb/testsuite: Update test pattern in
>>> ptype-on-functions.exp
>>> $ git bisect bad
>>> Some good revs are not ancestors of the bad rev.
>>
>> Git told you the reason.
>>
>> $ git rev-list d0e70c4189d5d6a6e63b85c1d3c10c74852173b4..fe07b5721a64a84e36ec63e15638b87655faf1bf | wc -l
>> 0
>
> How did this happen? Joel, shouldn't git commit hook check non-empty
> forward and backward git rev-list outputs to support git bisect?
What does that mean? How can you have both forward and backward
rev-list non-empty?
It's just that you got the revs backwards. By default, "good" must be
older than "bad". If that's confusing, because you are investigating
when a fix was introduced (and therefore, your "bad" is older than your
"good"), you can change the terms to use something else than "good" and
"bad". For example:
$ git bisect start --term-old my_bad --term-new my_good
$ git bisect my_bad fe07b5721a64a84e36ec63e15638b87655faf1bf
$ git bisect my_good d0e70c4189d5d6a6e63b85c1d3c10c74852173b4
Bisecting: 115 revisions left to test after this (roughly 7 steps)
[e148b73013109517c4d179aa9ae5a50b6d1dd5b5] libctf: drop error-prone ctf_strerror
Simon
More information about the Gdb
mailing list