Subject: Re: Confusion about diffing branches

From: Junio C Hamano <[email-masked]>
Date: Sun, 26 Aug 2007 17:18:35 -0700

Shawn Bohrer <[email-masked]> writes:

> So I imagine I'm missing something, or perhaps I'm just looking at this
> from the wrong perspective, but here is what I'm seeing.  Lets say I
> have something like:
>
>          A---B topic
>         /
>    C---D---E master
>
> ...
>    git diff master...topic
>
> ... shows me the
> combined diff of A and B.

That is working as designed.

When you are working on topic it is often desired to see "what
have I done since I forked?" and "what have they done while I
was looking the other way?".

"git diff master topic" (which is the same as "git diff
master..topic" -- the two-dot form is just a syntax sugar to
avoid mistypes for people who are too used to type two dots as
reflex because that is how you express a revision range) shows
a squashed diff that is A+B-E, and often people found "-E" part
distracting and useless.  Three-dot form was invented
specifically to address this problem.  You do not have to (and
you do not _want_ to) use that form if you _want_ to see the -E
part of the diff.