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

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

From
Matthieu Moy <matthieu.moy@univ-lyon1.fr>
Date
May 12, 2023, 08:15 UTC
Message-ID
<4f713a29-1a34-2f71-ee54-c01020be903a@univ-lyon1.fr>
In-Reply-To
<5bb24e0208dd4a8ca5f6697d578f3ae0@SAMBXP02.univ-lyon1.fr>

[ I apologize for not being more reactive the last few years. I still love Git and this ml, but I'm struggling to find time to contribute. ]

On 5/11/23 19:37, Junio C Hamano wrote:
Show 15 quoted lines
> The behaviour came in the v1.8.4 days with a series that was merged
> by e2ecd252 (Merge branch 'mm/diff-no-patch-synonym-to-s',
> 2013-07-22), which
> 
>   * made "--no-patch" a synonym for "-s";
> 
>   * fixed "-s --patch", in which the effect of "-s" got stuck and did
>     not allow the patch output to be re-enabled again with "--patch";
> 
>   * updated documentation to explain "--no-patch" as a synonym for
>     "-s".
> 
> While it is very clear that the intent of the author was to make it
> a synonym for "-s" and not a "feature-wise enable/disable" option,
> that is what we've run with for the past 10 years.

That's too old for me to remember exactly my state of mind, but if you want to do a bit of archeology, the origin is there:

https://public-inbox.org/git/51E3DC47.70107@googlemail.com/

Essentially, Stefan Beller was using 'git show --format="%ad"' and expecting it to show only the author date, and for merge commits it also showed the patch (--cc). I suggested -s and noticed that the option wasn't easily discoverable, hence the patch series to better document it and add --no-patch as a synonym.

Probably I did not get all the subtleties of the different kinds of outputs. I guess I considered the output of diff to be the one specified by --format plus the patch (not considering --raw, --stat & friends), hence "get only the output specified by --format" and "disable the patch" were synonym to me. Looking more closely, it's rather clear to me they are not, and that

   git show --raw --patch --no-patch
should be equivalent to
   git show --raw
Cheers,
-- 
Matthieu Moy
https://matthieu-moy.fr/
Previous: Felipe ContrerasNext: Junio C Hamano
Message 20 of 39 in “Can we clarify the purpose of `git diff -s`?”
  1. Felipe ContrerasMay 11, 2023
  2. Sergey OrganovMay 11, 2023
  3. Junio C HamanoMay 11, 2023
  4. Junio C HamanoMay 11, 2023
  5. Sergey OrganovMay 11, 2023
  6. Junio C HamanoMay 11, 2023
  7. Felipe ContrerasMay 11, 2023
  8. Felipe ContrerasMay 11, 2023
  9. Felipe ContrerasMay 11, 2023
  10. Sergey OrganovMay 11, 2023
  11. Felipe ContrerasMay 11, 2023
  12. Sergey OrganovMay 11, 2023
  13. Felipe ContrerasMay 11, 2023
  14. Sergey OrganovMay 11, 2023
  15. Felipe ContrerasMay 11, 2023
  16. Sergey OrganovMay 11, 2023
  17. Felipe ContrerasMay 11, 2023
  18. Sergey OrganovMay 12, 2023
  19. Felipe ContrerasMay 12, 2023
  20. Matthieu MoyMay 12, 2023
  21. Junio C HamanoMay 12, 2023
  22. Sergey OrganovMay 12, 2023
  23. Junio C HamanoMay 12, 2023
  24. Junio C HamanoMay 12, 2023
  25. Felipe ContrerasMay 12, 2023
  26. Junio C HamanoMay 12, 2023
  27. Felipe ContrerasMay 12, 2023
  28. Junio C HamanoMay 12, 2023
  29. Junio C HamanoMay 12, 2023
  30. Felipe ContrerasMay 12, 2023
  31. Sergey OrganovMay 12, 2023
  32. Junio C HamanoMay 12, 2023
  33. Sergey OrganovMay 12, 2023
  34. Felipe ContrerasMay 12, 2023
  35. Philip OakleyMay 13, 2023
  36. Sergey OrganovMay 13, 2023
  37. Felipe ContrerasMay 12, 2023
  38. Felipe ContrerasMay 12, 2023
  39. Felipe ContrerasMay 12, 2023

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.