git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: Confusion about diffing branches

From
Shawn Bohrer <shawn.bohrer@gmail.com>
Date
Aug 27, 2007, 01:40 UTC
Message-ID
<20070827014056.GB7422@mediacenter.austin.rr.com>
In-Reply-To
<7v6431omn8.fsf@gitster.siamese.dyndns.org>
On Sun, Aug 26, 2007 at 05:18:35PM -0700, Junio C Hamano wrote:
> 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?".

Absolutely, and from the user manual I gathered that this was what the two-dot form was for. "git diff master..topic" show me the diff of commits reachable from topic, but not from master.

The three-dot form seemed to address the other use case which is probably the more usual case for git-diff which is show me the changes reachable from master or topic but not both.

Show 9 quoted lines
> "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.

So if I understand you correctly people in the git world are simply more used to typing two dots (instead of three) so that is why the two dot notation shows the more common use case (show me the difference between the tip of the master branch and the tip of the topic branch).

I must admit that for me, a new git user, it would be much more intuitive if all git commands used the same syntax for specifying revisions. After all every other git command that I have used so far uses the opposite syntax as git-diff. This includes git-log, git-format-patch, gitk, git-rev-list, and git-rev-parse.

Previous: Junio C HamanoNext: Mike Hommey
Message 3 of 14 in “Confusion about diffing branches”
  1. Shawn BohrerAug 26, 2007
  2. Junio C HamanoAug 27, 2007
  3. Shawn BohrerAug 27, 2007
  4. Mike HommeyAug 27, 2007
  5. Junio C HamanoAug 27, 2007
  6. Mike HommeyAug 27, 2007
  7. Francis MoreauAug 27, 2007
  8. Mike HommeyAug 27, 2007
  9. Junio C HamanoAug 27, 2007
  10. Mike HommeyAug 27, 2007
  11. Theodore TsoAug 27, 2007
  12. Junio C HamanoAug 27, 2007
  13. Theodore TsoAug 27, 2007
  14. Jakub NarebskiAug 27, 2007

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.