archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <>
To: Scott Chacon <>
Cc: git list <>
Subject: Re: refresh
Date: Sat, 05 May 2012 18:39:14 -0700	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <> (Scott Chacon's message of "Sat, 5 May 2012 15:38:31 -0700")

Scott Chacon <> writes:

>> As "diff" is listed in "Basic Snapshotting", and it will not
>> be able to achieve that without being able to apply its output back to the
>> working tree or to the index, I would suggest moving "apply" to the
>> section as well.
> I have to disagree.  You are thinking of 'apply' from an internals
> perspective I have to assume, because I use 'diff' every single day
> for all sorts of stuff ("what is modified and unstaged?", "what is
> modified and staged?", "what is different between these two branches?"
> etc) ...

The other day when I was surfing the 'net, I found a blog that was
complaining about Git UI.  Some of the things were worth listening to, but
there was one item I really had to scratch my head where the misconception
behind the complaint came from.  I am typing from memory without bothering
to go back to the site to quote, but the complaint essentially was:

        Getting a patch is easy with "git diff", but to apply it you need
        to make it an email and feed it to "git am"???  That's crazy.

Of course it *is* crazy, if that were the case. I was wondering why the
obvious "patch" (or "git apply") did not get into the mind of the author,
and I think I now know why.

If the owner of the site that people call "git's home page" does not care
about those who take diffs and apply them as patches, and thinks "git
apply" as a mere implementation detail of "git am", it is understandable
that such a misconception is spread widely to harm users without getting
corrected. Who knows other Git fanboys are spreading misinformation in a
similar way. Sigh...

> ... where I can't think of a single time I've ever used 'apply'.  In
> fact, even the times when I have needed to apply a patch generated
> from 'diff' I used 'patch -p1' because I know it better.

As you are supposed to be one of the top-level Git Teachers, I wish you
knew better.  Here is a free Git lesson.  Consider "git apply" as

    a better version of "patch" that knows how to work better with Git by
    understanding rename and binary patches, and allows them to be applied
    to the working tree and the index (the latter is most useful when the
    patch contains new files)

and teach it as such.

"diff" pairs with "apply", and "format-patch" pairs with "am".

I wouldn't mind adding "git patch" as a built-in synonym/alias for "git
apply", if you think that would make the above pairing more obvious.  Many
computer users know what "patch" does already even they have never used
any SCM.


  reply	other threads:[~2012-05-06  1:39 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-04 23:29 Scott Chacon
2012-05-05  0:26 ` Jakub Narebski
2012-05-05 22:24   ` Scott Chacon
2012-05-05 23:20   ` Josh Juran
2012-05-05  1:31 ` Junio C Hamano
2012-05-05 16:47   ` Felipe Contreras
2012-05-05 22:38   ` Scott Chacon
2012-05-06  1:39     ` Junio C Hamano [this message]
2012-05-06  2:31       ` Felipe Contreras
2012-05-06  3:51       ` Scott Chacon
2012-05-06  8:33       ` Philip Oakley
2012-05-07 17:06         ` Junio C Hamano
2012-05-08 16:51           ` Junio C Hamano
2012-05-08 17:46             ` Andreas Schwab
2012-05-08 18:00               ` Junio C Hamano
2012-05-05  9:14 ` Andrew Sayers
2012-05-05 14:01 ` Felipe Contreras
2012-05-05 14:36 ` Philip Oakley
2012-05-06  0:08 ` Neal Kreitzinger
2012-05-06  5:10 ` Neal Kreitzinger
2012-05-06 11:04 ` Matthieu Moy
2012-05-06 13:36   ` Scott Chacon
2012-05-07  4:18 ` Christian Couder
2012-05-07 17:08   ` Ævar Arnfjörð Bjarmason
2012-05-07 15:08 ` A Large Angry SCM
2012-05-07 21:04 ` Matthieu Moy
2012-05-09 22:13   ` Heiko Voigt
2012-05-08 12:29 ` Antonio Ospite

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \
    --subject='Re: refresh' \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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