Hi Ram,

good I found this post. Ironically at the same time you written it I 
struggled with my heavy enterprise git repo (~200k objects) and at that 
point git was to me really "goddamn idiotic trackload"...
Instead looking over the reachable commits, say between May 1 and May 15 
git bisect bring me away to Februar or ever to 2015 commits and proudly 
told about "first wrong commit" in the past ...
I decided bisect of 1.9.5 version (enterprise policy) is pretty broken and 
solved my issue using manual bisecting.

Anyway the problem stays in last version of git. And require a solution.
What I suggest change logic of bisecting to something like 

      git config bisect.reachable true

This behaviour will reduce bisecting only to reachable commits between 
bad/good points and will never goes away.
Maybe if commit will be found at merge commit git bisect can suggest open 
another round trip to looking into not reachable way, but anyway it should 
be explicit confirmed by user.

BTW, if merge point has more than 2 parents, how git bisect will find 
"first wrong commit" at the current state?

Cheers, Oleg

On Tuesday, April 26, 2016 at 10:55:47 PM UTC+2, Ram Rachum wrote:
>
> Here you go, I used bisect and it showed me the wrong commit (2413) as the 
> troublemaker: 
>
> Administrator@Turing  ~/Dropbox/Desktop/foo (development)
> $ git log --graph --full-history
> * commit b7a8d7aa001d06eb7491ab5fb447a8dd3aa421a8
> | Author: Ram Rachum <r...@rachum.com <javascript:>>
> | Date:   Tue Apr 19 17:45:01 2016 +0300
> |
> |     adding more to some-file
> |
> *   commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
> |\  Merge: 2413945 3068c7d
> | | Author: Ram Rachum <r...@rachum.com <javascript:>>
> | | Date:   Tue Apr 19 17:44:31 2016 +0300
> | |
> | |     Merge branch 'master' into development
> | |
> | * commit 3068c7d2548f1798b6840f73b13a649937339f28
> | | Author: Ram Rachum <r...@rachum.com <javascript:>>
> | | Date:   Tue Apr 19 16:02:27 2016 +0300
> | |
> | |     Adding sugar to coffee
> | |
> * | commit 24139451ab954b1f0a9ef616775a3dba0ac81669
> |/  Author: Ram Rachum <r...@rachum.com <javascript:>>
> |   Date:   Tue Apr 19 16:01:28 2016 +0300
> |
> |       Creating some-file
> |
> * commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
>   Author: Ram Rachum <r...@rachum.com <javascript:>>
>   Date:   Tue Apr 19 16:00:47 2016 +0300
>
>       Create coffee
>
> Administrator@Turing  ~/Dropbox/Desktop/foo (development)
> $ git bisect start
>
> Administrator@Turing  ~/Dropbox/Desktop/foo (development|BISECTING)
> $ git bisect good 3068
>
> Administrator@Turing  ~/Dropbox/Desktop/foo (development|BISECTING)
> $ git bisect bad b7a8
> Bisecting: 0 revisions left to test after this (roughly 1 step)
> [0aa833916e908ea93902a6c4c227f9a884a1bcef] Merge branch 'master' into 
> development
>
> Administrator@Turing  ~/Dropbox/Desktop/foo ((0aa8339...)|BISECTING)
> $ git bisect bad
> Bisecting: 0 revisions left to test after this (roughly 0 steps)
> [24139451ab954b1f0a9ef616775a3dba0ac81669] Creating some-file
>
> Administrator@Turing  ~/Dropbox/Desktop/foo ((2413945...)|BISECTING)
> $ git bisect bad
> 24139451ab954b1f0a9ef616775a3dba0ac81669 is the first bad commit
> commit 24139451ab954b1f0a9ef616775a3dba0ac81669
> Author: Ram Rachum <r...@rachum.com <javascript:>>
> Date:   Tue Apr 19 16:01:28 2016 +0300
>
>     Creating some-file
>
> :000000 100644 0000000000000000000000000000000000000000 
> e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 A  some-file
>
> Administrator@Turing  ~/Dropbox/Desktop/foo ((2413945...)|BISECTING)
> $
>
>
> On Tue, Apr 26, 2016 at 6:46 PM, Dale R. Worley <wor...@alum.mit.edu 
> <javascript:>> wrote:
>
>> Ram Rachum <ram.r...@gmail.com <javascript:>> writes:
>> >     $ git log  --graph
>> >     * commit b7a8d7aa001d06eb7491ab5fb447a8dd3aa421a8
>> >     | Author: Ram Rachum <r...@rachum.com <javascript:>>
>> >     | Date:   Tue Apr 19 17:45:01 2016 +0300
>> >     |
>> >     |     adding more to some-file
>> >     |
>> >     *   commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
>> >     |\  Merge: 2413945 3068c7d
>> >     | | Author: Ram Rachum <r...@rachum.com <javascript:>>
>> >     | | Date:   Tue Apr 19 17:44:31 2016 +0300
>> >     | |
>> >     | |     Merge branch 'master' into development
>> >     | |
>> >     | * commit 3068c7d2548f1798b6840f73b13a649937339f28
>> >     | | Author: Ram Rachum <r...@rachum.com <javascript:>>
>> >     | | Date:   Tue Apr 19 16:02:27 2016 +0300
>> >     | |
>> >     | |     Adding sugar to coffee
>> >     | |
>> >     * | commit 24139451ab954b1f0a9ef616775a3dba0ac81669
>> >     |/  Author: Ram Rachum <r...@rachum.com <javascript:>>
>> >     |   Date:   Tue Apr 19 16:01:28 2016 +0300
>> >     |
>> >     |       Creating some-file
>> >     |
>> >     * commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
>> >       Author: Ram Rachum <r...@rachum.com <javascript:>>
>> >       Date:   Tue Apr 19 16:00:47 2016 +0300
>> >
>> >           Create coffee
>> >
>> > In the very first commit, the file `coffee` was added. In the commit
>> > `3068c7d`, I added a line "sugar" to the `coffee` file. But then I 
>> merged
>> > this branch into the `development` branch, and in that merge, a mistake 
>> was
>> > made and the "sugar" line was removed, leaving `coffee` empty. Then 
>> another
>> > commit `b7a8d7a`, making an unrelated change, was added for good 
>> measure.
>>
>> > I also tried using `git bisect` to pin down the two commits, but it 
>> pointed
>> > me to the wrong commit after I finished doing all the `git bisect bad` 
>> and
>> > `git bisect good` actions.
>>
>> That seems really unlikely, since there is only one path between 3068
>> and b7a8.  Can you reproduce the behavior and show us how it happened?
>>
>> Dale
>>
>> --
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "Git for human beings" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/git-users/v3__t42qbKE/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> git-users+...@googlegroups.com <javascript:>.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Git 
for human beings" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to git-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to