Re: [git-users] An equivalent of `--full-history` to git bisect

2016-07-29 Thread Oleg Taranenko
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 >
> | Date:   Tue Apr 19 17:45:01 2016 +0300
> |
> | adding more to some-file
> |
> *   commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
> |\  Merge: 2413945 3068c7d
> | | Author: Ram Rachum >
> | | Date:   Tue Apr 19 17:44:31 2016 +0300
> | |
> | | Merge branch 'master' into development
> | |
> | * commit 3068c7d2548f1798b6840f73b13a649937339f28
> | | Author: Ram Rachum >
> | | Date:   Tue Apr 19 16:02:27 2016 +0300
> | |
> | | Adding sugar to coffee
> | |
> * | commit 24139451ab954b1f0a9ef616775a3dba0ac81669
> |/  Author: Ram Rachum >
> |   Date:   Tue Apr 19 16:01:28 2016 +0300
> |
> |   Creating some-file
> |
> * commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
>   Author: Ram Rachum >
>   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 >
> Date:   Tue Apr 19 16:01:28 2016 +0300
>
> Creating some-file
>
> :00 100644  
> e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 A  some-file
>
> Administrator@Turing  ~/Dropbox/Desktop/foo ((2413945...)|BISECTING)
> $
>
>
> On Tue, Apr 26, 2016 at 6:46 PM, Dale R. Worley  > wrote:
>
>> Ram Rachum > writes:
>> > $ git log  --graph
>> > * commit b7a8d7aa001d06eb7491ab5fb447a8dd3aa421a8
>> > | Author: Ram Rachum >
>> > | Date:   Tue Apr 19 17:45:01 2016 +0300
>> > |
>> > | adding more to some-file
>> > |
>> > *   commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
>> > |\  Merge: 2413945 3068c7d
>> > | | Author: Ram Rachum >
>> > | | Date:   Tue Apr 19 17:44:31 2016 +0300
>> > | |
>> > | | Merge branch 'master' into development
>> > | |
>> > | * commit 3068c7d2548f1798b6840f73b13a649937339f28
>> > | | Author: Ram Rachum >
>> > | | Date:   Tue Apr 19 16:02:27 2016 +0300
>> > | |
>> > | | Adding sugar to coffee
>> > | |
>> > * | commit 24139451ab954b1f0a9ef616775a3dba0ac81669
>> > |/  Author: Ram Rachum >
>> > |   Date:   Tue Apr 19 16:01:28 2016 +0300
>> > |
>> > |   Creating some-file
>> > |
>> > * commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
>> >   Author: Ram Rachum >
>> >   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 

Re: [git-users] An equivalent of `--full-history` to git bisect

2016-04-27 Thread Dale R. Worley
Ram Rachum  writes:
> 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 
> Date:   Tue Apr 19 16:01:28 2016 +0300
>
> Creating some-file
>
> :00 100644 
> e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 A  some-file
>
> Administrator@Turing  ~/Dropbox/Desktop/foo ((2413945...)|BISECTING)
> $

OK, I've had to learn some things first.  One is that git-bisect doesn't
find the commit along the path between a good commit and a bad commit
that introduces a bug.  You specify a bad commit and git-bisect finds an
"original bad" ancestor:  a commit that is an ancestor of the specified
bad commit that is bad and has no parent that is bad.

In this case, your command "git bisect good 3068" does *not* restrict
git-bisect's attention to the commits in 3068..b7a8.  It just tells
git-bisect that 3068 is good.  git-bisect still has to check the
ancestors of 2413, which are ancestors of b7a8 but not ancestors of
3068.

With this definition, it's clear that git-bisect should identify cf02 as
the "original bad" commit, because it's the only one.  If it doesn't,
that's a bug in Git.  And I'm not so surprised that it doesn't handle
that special case correctly, it's not an obvious one.  You should report
that as a problem on the main Git mailing list.

Now to solve your problem:  What you need to do is redefine "bad" to
mean "should have sugar but does not".  That is, "is a descendant of
3068 and does not have sugar".  When you do that, 2413 becomes good,
because it's not a descendant of 3068.  And I'll bet that if you say
"git bisect good" for 2413 you will get the result you expect.

Dale

-- 
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.


Re: [git-users] An equivalent of `--full-history` to git bisect

2016-04-26 Thread Ram Rachum
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 
| Date:   Tue Apr 19 17:45:01 2016 +0300
|
| adding more to some-file
|
*   commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
|\  Merge: 2413945 3068c7d
| | Author: Ram Rachum 
| | Date:   Tue Apr 19 17:44:31 2016 +0300
| |
| | Merge branch 'master' into development
| |
| * commit 3068c7d2548f1798b6840f73b13a649937339f28
| | Author: Ram Rachum 
| | Date:   Tue Apr 19 16:02:27 2016 +0300
| |
| | Adding sugar to coffee
| |
* | commit 24139451ab954b1f0a9ef616775a3dba0ac81669
|/  Author: Ram Rachum 
|   Date:   Tue Apr 19 16:01:28 2016 +0300
|
|   Creating some-file
|
* commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
  Author: Ram Rachum 
  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 
Date:   Tue Apr 19 16:01:28 2016 +0300

Creating some-file

:00 100644 
e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 A  some-file

Administrator@Turing  ~/Dropbox/Desktop/foo ((2413945...)|BISECTING)
$


On Tue, Apr 26, 2016 at 6:46 PM, Dale R. Worley  wrote:

> Ram Rachum  writes:
> > $ git log  --graph
> > * commit b7a8d7aa001d06eb7491ab5fb447a8dd3aa421a8
> > | Author: Ram Rachum 
> > | Date:   Tue Apr 19 17:45:01 2016 +0300
> > |
> > | adding more to some-file
> > |
> > *   commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
> > |\  Merge: 2413945 3068c7d
> > | | Author: Ram Rachum 
> > | | Date:   Tue Apr 19 17:44:31 2016 +0300
> > | |
> > | | Merge branch 'master' into development
> > | |
> > | * commit 3068c7d2548f1798b6840f73b13a649937339f28
> > | | Author: Ram Rachum 
> > | | Date:   Tue Apr 19 16:02:27 2016 +0300
> > | |
> > | | Adding sugar to coffee
> > | |
> > * | commit 24139451ab954b1f0a9ef616775a3dba0ac81669
> > |/  Author: Ram Rachum 
> > |   Date:   Tue Apr 19 16:01:28 2016 +0300
> > |
> > |   Creating some-file
> > |
> > * commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
> >   Author: Ram Rachum 
> >   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+unsubscr...@googlegroups.com.
> 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.


Re: [git-users] An equivalent of `--full-history` to git bisect

2016-04-26 Thread Dale R. Worley
Ram Rachum  writes:
> $ git log  --graph
> * commit b7a8d7aa001d06eb7491ab5fb447a8dd3aa421a8
> | Author: Ram Rachum 
> | Date:   Tue Apr 19 17:45:01 2016 +0300
> |
> | adding more to some-file
> |
> *   commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
> |\  Merge: 2413945 3068c7d
> | | Author: Ram Rachum 
> | | Date:   Tue Apr 19 17:44:31 2016 +0300
> | |
> | | Merge branch 'master' into development
> | |
> | * commit 3068c7d2548f1798b6840f73b13a649937339f28
> | | Author: Ram Rachum 
> | | Date:   Tue Apr 19 16:02:27 2016 +0300
> | |
> | | Adding sugar to coffee
> | |
> * | commit 24139451ab954b1f0a9ef616775a3dba0ac81669
> |/  Author: Ram Rachum 
> |   Date:   Tue Apr 19 16:01:28 2016 +0300
> |
> |   Creating some-file
> |
> * commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
>   Author: Ram Rachum 
>   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 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.


Re: [git-users] An equivalent of `--full-history` to git bisect

2016-04-22 Thread Ram Rachum
On Fri, Apr 22, 2016 at 5:29 PM, Dale R. Worley  wrote:

> Ram Rachum  writes:
> > Then, as I said in the beginning, a friend pointed me towards the
> > `--full-history` flag:
> >
> > $ git log --full-history --graph coffee
> > *   commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
> > |\  Merge: cf02fbb 3068c7d
> > | | Author: Ram Rachum 
> > | | Date:   Tue Apr 19 17:44:31 2016 +0300
> > | |
> > | | Merge branch 'master' into development
> > | |
> > | * commit 3068c7d2548f1798b6840f73b13a649937339f28
> > |/  Author: Ram Rachum 
> > |   Date:   Tue Apr 19 16:02:27 2016 +0300
> > |
> > |   Adding sugar to coffee
> > |
> > * commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
> >   Author: Ram Rachum 
> >   Date:   Tue Apr 19 16:00:47 2016 +0300
> >
> >   Create coffee
> >
> > This makes me happy because it shows the two relevant commits, the one
> > adding sugar and the merge that removed it. So my problem is solved.
> **But
> > I really wish I could know how to make `git bisect` as well.** Does
> anyone
> > happen to know?
>
> You have to be careful here.  You *think* of commit 0aa833 as removing
> sugar, but it only removes sugar with respect to commit 3068c7.  It's
> *other* parent doesn't have sugar, in fact, has the same file tree as
> 0aa833.  When you look at 0aa833 as a child of cf02fb, what you see is a
> merge that didn't insert sugar that was present in the merged commit.
> And if sugar was some debugging print that you added to the branch to
> test it, you'd think of things the second way.
>
> The deep question is "What is the (linear) history of this commit?"  You
> *think* of the history being 0aa833-3068c7-cf02fbbc, but it's equally
> valid to think of it as 0aa833-cf02fbbc.
>
> Now with regard to git-bisect, how do you define it?  The binary search
> for "Where was this introduced?" only makes sense along a linear path.
> So which linear path should git-bisect choose through the directed
> acyclic graph of commits?
>

The first thing you do with bisect is define a good commit (3068) and a bad
commit (b7a8). Any linear path you draw between these two commits will land
on the merge (which is the commit that you want to find.) I don't know
which linear path git-bisect uses today, but I'm not seeing how it can use
a linear path that skips the bad merge. In any case, it would be nice if
it'll have an option similar to `--full-history` that'll make it not skip
that merge.


>
> 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+unsubscr...@googlegroups.com.
> 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.


Re: [git-users] An equivalent of `--full-history` to git bisect

2016-04-22 Thread Dale R. Worley
Ram Rachum  writes:
> Then, as I said in the beginning, a friend pointed me towards the 
> `--full-history` flag:
>
> $ git log --full-history --graph coffee
> *   commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
> |\  Merge: cf02fbb 3068c7d 
> | | Author: Ram Rachum 
> | | Date:   Tue Apr 19 17:44:31 2016 +0300 
> | |
> | | Merge branch 'master' into development 
> | |
> | * commit 3068c7d2548f1798b6840f73b13a649937339f28
> |/  Author: Ram Rachum 
> |   Date:   Tue Apr 19 16:02:27 2016 +0300 
> |  
> |   Adding sugar to coffee 
> |  
> * commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661  
>   Author: Ram Rachum   
>   Date:   Tue Apr 19 16:00:47 2016 +0300   
>
>   Create coffee
>
> This makes me happy because it shows the two relevant commits, the one 
> adding sugar and the merge that removed it. So my problem is solved. **But 
> I really wish I could know how to make `git bisect` as well.** Does anyone 
> happen to know?

You have to be careful here.  You *think* of commit 0aa833 as removing
sugar, but it only removes sugar with respect to commit 3068c7.  It's
*other* parent doesn't have sugar, in fact, has the same file tree as
0aa833.  When you look at 0aa833 as a child of cf02fb, what you see is a
merge that didn't insert sugar that was present in the merged commit.
And if sugar was some debugging print that you added to the branch to
test it, you'd think of things the second way.

The deep question is "What is the (linear) history of this commit?"  You
*think* of the history being 0aa833-3068c7-cf02fbbc, but it's equally
valid to think of it as 0aa833-cf02fbbc.

Now with regard to git-bisect, how do you define it?  The binary search
for "Where was this introduced?" only makes sense along a linear path.
So which linear path should git-bisect choose through the directed
acyclic graph of commits?

Dale

-- 
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.


[git-users] An equivalent of `--full-history` to git bisect

2016-04-22 Thread Ram Rachum
Hi everyone!

I've been using Git heavily for about 7 years. A few days ago I found a 
behavior that surprised me. I found `git log`, `git blame` and `git bisect` 
to exhibit this weird behavior. [A friend][1] let me know about the 
`--full-history` flag to `git log` that solved my problem, and another 
person showed me that `--full-history` works for `git blame` too . I want 
to know, for my own education, whether there is an equivalent fix for `git 
bisect`.


Feel free to see the problem for yourself with this repo: 
https://dl.dropboxusercontent.com/u/1927707/problematic_repo.7z

Here is its log:

$ git log  --graph
* commit b7a8d7aa001d06eb7491ab5fb447a8dd3aa421a8
| Author: Ram Rachum 
| Date:   Tue Apr 19 17:45:01 2016 +0300
|
| adding more to some-file
|
*   commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
|\  Merge: 2413945 3068c7d
| | Author: Ram Rachum 
| | Date:   Tue Apr 19 17:44:31 2016 +0300
| |
| | Merge branch 'master' into development
| |
| * commit 3068c7d2548f1798b6840f73b13a649937339f28
| | Author: Ram Rachum 
| | Date:   Tue Apr 19 16:02:27 2016 +0300
| |
| | Adding sugar to coffee
| |
* | commit 24139451ab954b1f0a9ef616775a3dba0ac81669
|/  Author: Ram Rachum 
|   Date:   Tue Apr 19 16:01:28 2016 +0300
|
|   Creating some-file
|
* commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
  Author: Ram Rachum 
  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. 

Now I'm looking at my coffee, and finding there's no sugar in it. I 
distinctly remember adding sugar to my coffee. I run `git log coffee`, and 
get this output:

$ git log coffee
commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661
Author: Ram Rachum 
Date:   Tue Apr 19 16:00:47 2016 +0300

Create coffee

That's it. `git log` is showing neither my original commit that added the 
sugar, nor the merge that removed it. Two very relevant commits that are 
missing. 

I was frustrated for about an hour by this problem, because it happened in 
a huge enterprise repo, where commits are much harder to find manually.

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.

Then, as I said in the beginning, a friend pointed me towards the 
`--full-history` flag:

$ git log --full-history --graph coffee
*   commit 0aa833916e908ea93902a6c4c227f9a884a1bcef
|\  Merge: cf02fbb 3068c7d 
| | Author: Ram Rachum 
| | Date:   Tue Apr 19 17:44:31 2016 +0300 
| |
| | Merge branch 'master' into development 
| |
| * commit 3068c7d2548f1798b6840f73b13a649937339f28
|/  Author: Ram Rachum 
|   Date:   Tue Apr 19 16:02:27 2016 +0300 
|  
|   Adding sugar to coffee 
|  
* commit cf02fbbc40104cd02eea4c7c6f134ef1fd7b5661  
  Author: Ram Rachum   
  Date:   Tue Apr 19 16:00:47 2016 +0300   
   
  Create coffee

This makes me happy because it shows the two relevant commits, the one 
adding sugar and the merge that removed it. So my problem is solved. **But 
I really wish I could know how to make `git bisect` as well.** Does anyone 
happen to know?


  [1]: http://www.syntevo.com/smartgithg/

-- 
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.