Subject: Re: Can we clarify the purpose of `git diff -s`?

From: Junio C Hamano <[email-masked]>
Date: Thu, 11 May 2023 11:27:34 -0700

Sergey Organov <[email-masked]> writes:

> I wonder, why this intention of the author has not been opposed at that
> time is beyond my understanding, sorry! What exactly did it bring to
> make --no-patch a synonym for -s? Not only it's illogical, it's even not
> useful as being more lengthy.

Probably because we wanted to have a more descriptive synonym to
make it discoverable [*].  The release notes for v1.8.4 (where
"--no-patch" was added as a synonym for "-s") tells us this much.

 * "git show -s" was less discoverable than it should have been.  It
    now has a natural synonym "git show --no-patch".

In hindsight, "--silent" or "--squelch" might also have been viable
choices, but if you really care, you have to ask Matthieu why
"--no-patch" was chosen.  If I have to guess, it came from the
desire to phrase it as "--no-<something>", which some commands had
started to adopt as a convention to defeat "<something>" between
v1.7.0 and v1.8.4 (the latter is where "--no-patch" appeared), and
"--no-everything" is awkward to be used with "git show" as we still
want to see the commit message.

> Why somebody would use --no-patch instead of -s when she means -s?

Because "-s" does not have a longhand and not easily discoverable?
As I explained above, I thing that was the original motivation
behind wanting to have _some_ synonym.

[Footnote]

* In fact, I was surprised that somebody (I forgot who they were),
  who I have known to be a user of git for 10+ years, wrote
  "--no-patch" in an example in one of their recent messages,
  outside the context of, and I strongly suspect that it happened
  before, this "-s" vs "--no-patch" discussion.  I took it to be
  showing their preference of "--no-patch" over "-s", or their not
  knowing about "-s" even they are a long-time Git user.