# GIT BISECT old/new (fix/unfixed)

1 messages from 2015-06-01 to 2015-06-01. Participants: Antoine Delaite.
Thread: https://gitlist.dev/t/39482

## Antoine Delaite, 2015-06-01 14:24

Subject: GIT BISECT old/new (fix/unfixed)
Message-ID: <1363968792.246885.1433168658027.JavaMail.zimbra@ensimag.grenoble-inp.fr>
URL: https://gitlist.dev/e/1363968792.246885.1433168658027.JavaMail.zimbra%40ensimag.grenoble-inp.fr
In-Reply-To: <1762682958.245864.1433168080478.JavaMail.zimbra@ensimag.grenoble-inp.fr>

```
Hi,

git bisect old/new is an alternative to good/bad, which can be confusing to use 
in some situations. 

A work on it was done a few years ago, it is partially working but there are a 
lot of issues. 

We based on Christian Couder's github: 
https://github.com/chriscool/git/commits/boldnew2 

We're currently working on it again. Older discussions lead to this state: 

>Some commands are still not available for old/new: 
> 
> * git bisect start [<new> [<old>...]] is not possible: the commits 
> will be treated as bad and good. 
> * git rev-list --bisect does not treat the revs/bisect/new and 
> revs/bisect/old-SHA1 files. 
> * thus, git bisect run <cmd> is not available for new/old. 
> * git bisect visualize seem to work partially: the tags are displayed 
> correctly but the tree is not limited to the bisect section. 

We did some testing with git bisect old/new and found that it was quite 
working, returning the commit that introduces the fix. 

We noticed an other error once the bisection is finished : 
fatal: 'refs/bisect/bad' - not a valid ref 

We did not understand why git bisect run is supposed not to work with old/new. 
The only thing is that the script has to return 0 if the version is old, which 
seems to work like in good/bad mode. This should be modified if the user wants 
to use the same script to find a fix or a regression (without changing the 
return value each time). 

Antoine D 

```
