From: Carl Worth <cworth@cworth.org>
To: Linus Torvalds <torvalds@osdl.org>
Cc: Francis Moreau <francis.moro@gmail.com>,
Jay Cliburn <jacliburn@bellsouth.net>,
git@vger.kernel.org, Jeff Garzik <jeff@garzik.org>
Subject: Re: Updated Kernel Hacker's guide to git
Date: Thu, 21 Dec 2006 17:23:15 -0800 [thread overview]
Message-ID: <87slf83erg.wl%cworth@cworth.org> (raw)
In-Reply-To: <Pine.LNX.4.64.0612211013500.3394@woody.osdl.org>
[-- Attachment #1: Type: text/plain, Size: 1685 bytes --]
On Thu, 21 Dec 2006 10:23:30 -0800 (PST), Linus Torvalds wrote:
> In short, for git diff (and ONLY) git diff, all of these are the same:
>
> git diff a..b
> git diff a b
I admit that I had had never passed a range of commits to git diff,
nor even given any thought to what it might do, but I definitely find
the above very surprising---and not necessarily very useful. Why is
anyone ever typing those two dots here if they have no effect on the
result?
> It basically all boils down to:
>
> "git diff" is special
>
> exactly because unlike almost ALL other git commands, "git diff" does not
> work on a _list_ of commits, it only works on two end-points. That means
> that the "list operations" actually end up meaning something else for git
> diff than they do for "git log" and friends.
Yes, "git diff" can only work on two end points. So a command like:
git diff a b
is really easy to understand. And if the user wants to compare those
two points, why would the user ever provide them with any other
syntax?
In other words, what's the advantage of "git diff" accepting a special
syntax for a range ("a..b") and yet not actually doing anything
special with it?
In particular, the operation that would be interesting here is what
one can get with:
git diff $(git merge-base a b) b
so why isn't _that_ the operation that is accessed with the syntax of:
git diff a..b
Said another way, if "git log a..b" displays a range of commits, why
doesn't "git diff a..b" display the diff from the beginning of that
range to the end?
Of course, all the warnings you gave about what "git diff" would do
in the case of various criss-cross merge scenarios would still apply.
-Carl
[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]
next prev parent reply other threads:[~2006-12-22 1:24 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-21 12:24 Updated Kernel Hacker's guide to git Francis Moreau
2006-12-21 18:23 ` Linus Torvalds
2006-12-22 1:23 ` Carl Worth [this message]
2006-12-22 4:13 ` Linus Torvalds
2006-12-22 22:20 ` Carl Worth
2006-12-22 22:34 ` Linus Torvalds
2006-12-22 22:45 ` Junio C Hamano
2006-12-22 23:31 ` Carl Worth
2006-12-22 23:00 ` Jakub Narebski
2006-12-22 9:35 ` Francis Moreau
2006-12-22 10:26 ` Junio C Hamano
2006-12-22 20:34 ` Francis Moreau
-- strict thread matches above, loose matches on Subject: below --
2006-12-21 3:04 Jeff Garzik
2006-12-21 3:21 ` Jay Cliburn
2006-12-21 7:04 ` Martin Langhoff
2006-12-21 7:32 ` Junio C Hamano
2006-12-21 7:51 ` Linus Torvalds
2006-12-21 11:53 ` Jeff Garzik
2006-12-21 5:44 ` Willy Tarreau
2006-12-21 5:53 ` Nigel Cunningham
2006-12-21 11:44 ` Jeff Garzik
2006-12-21 21:17 ` Nigel Cunningham
2006-12-21 13:53 ` Francois Romieu
2006-12-21 20:40 ` Guennadi Liakhovetski
2006-12-21 20:46 ` Jeff Garzik
2006-12-22 8:50 ` Jesper Juhl
2006-12-24 18:07 ` Horst H. von Brand
2007-12-23 11:13 ` Jeff Garzik
2007-12-23 12:08 ` Robert P. J. Day
2007-12-23 12:13 ` Jeff Garzik
2007-12-23 12:20 ` Robert P. J. Day
2007-12-23 13:05 ` Dieter Ries
2007-12-23 17:23 ` Robert P. J. Day
2007-12-23 20:14 ` Stefan Richter
2007-12-24 14:19 ` Robert P. J. Day
2007-12-23 12:25 ` WANG Cong
2007-12-24 12:50 ` Miklos Vajna
2007-12-25 13:08 ` Salikh Zakirov
2007-12-31 2:50 ` Jan Engelhardt
2007-12-31 11:26 ` Stefan Richter
2007-12-31 17:31 ` Junio C Hamano
2008-06-30 2:51 ` Jeff Garzik
2008-06-30 6:27 ` Stefan Richter
2008-06-30 2:49 ` Jeff Garzik
2008-07-03 6:26 ` Christian Couder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87slf83erg.wl%cworth@cworth.org \
--to=cworth@cworth.org \
--cc=francis.moro@gmail.com \
--cc=git@vger.kernel.org \
--cc=jacliburn@bellsouth.net \
--cc=jeff@garzik.org \
--cc=torvalds@osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).