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

Re: [PATCH] diff,difftool: Don't use the {0,2} notation in usage strings

From
Jeff King <peff@peff.net>
Date
Nov 4, 2010, 17:49 UTC
Message-ID
<20101104174917.GA30628@sigill.intra.peff.net>
In-Reply-To
<87hbfxgg86.fsf_-_@gmail.com>
On Thu, Nov 04, 2010 at 06:18:17PM +0100, Štěpán Němec wrote:
Show 9 quoted lines
> This was the only occurence of that usage, and square brackets are
> sufficient and already well-established for that purpose.
> 
> Signed-off-by: Štěpán Němec <stepnem@gmail.com>
> ---
> 
> As per discussion upthread, this notation is not worth keeping; hence
> not mentioning it in the v2 of the CodingGuidlines patch and this
> removal.

I agree the notation is kind of odd. But the intent of the original is to point out that diff has several modes of operation, depending on the number of arguments it is given. Your change seems to make that even more subtle. I would be more in favor of showing the major modes of operation, one per line, which is what we do in other places. E.g., see git-branch(1).

Now in the case of diff, as soon as the "description" section starts, we do start talking about those modes (and there are a lot of them). But I think it may make sense to cover them with a short comment in the synopsis. Something like:

  # diff between index and working tree
  git diff [options] [--] [<path>...]
  # diff between HEAD and index
  git diff --cached [options] [--] [<path>...]
  # diff between commit and working tree
  git diff [options] <commit> [--] [<path>...]
  # diff between commit and index
  git diff --cached [options] <commit> [--] [<path>...]
  # diff between commits
  git diff [options] <commit> <commit> [--] [<path>...]
  # diff two paths
  git diff [options] [--] <path> <path>

which obviously is way more verbose, but I think it improves in two ways:

  1. New users will immediately see what diff is for: it is the
     all-purpose diffing tool in git, and it has several modes of
     operation.
  2. People who know what diff does but need a quick reference on which
     mode they are looking for can quickly scan the list.

If it's too verbose, we could collapse a few cases (e.g., "HEAD and index" and "commit and index" could come in one line).

-Peff
Previous: Sverre RabbelierNext: Jonathan Nieder
Message 17 of 43 in “Unify argument and option notation in the docs”
  1. Unify argument and option notation in the docsŠtěpán Němec, Oct 8, 2010
  2. Jonathan NiederOct 8, 2010
  3. Štěpán NěmecOct 8, 2010
  4. 0/6 Unify argument and option notation in the docsŠtěpán Němec, Oct 8, 2010
  5. Jonathan NiederOct 8, 2010
  6. Junio C HamanoOct 8, 2010
  7. Štěpán NěmecOct 8, 2010
  8. Jonathan NiederOct 21, 2010
  9. CodingGuidelines: Add a section on writing documentationŠtěpán Němec, Oct 24, 2010
  10. Mark LodatoOct 29, 2010
  11. Štěpán NěmecOct 29, 2010
  12. Sverre RabbelierOct 29, 2010
  13. Štěpán NěmecNov 1, 2010
  14. CodingGuidelines: Add a section on writing documentationŠtěpán Němec, Nov 4, 2010
  15. diff,difftool: Don't use the {0,2} notation in usage stringsŠtěpán Němec, Nov 4, 2010
  16. Sverre RabbelierNov 4, 2010
  17. Jeff KingNov 4, 2010
  18. Jonathan NiederNov 4, 2010
  19. Jeff KingNov 4, 2010
  20. Jonathan NiederNov 4, 2010
  21. Jeff KingNov 4, 2010
  22. Štěpán NěmecNov 4, 2010
  23. Jeff KingNov 4, 2010
  24. docs: clarify git diff modes of operationJeff King, Nov 4, 2010
  25. Jonathan NiederNov 4, 2010
  26. Mark LodatoNov 5, 2010
  27. Štěpán NěmecNov 4, 2010
  28. Štěpán NěmecNov 4, 2010
  29. 1/6 Use angles for placeholders consistentlyŠtěpán Němec, Oct 8, 2010
  30. 2/6 Fix odd markup in --diff-filter documentationŠtěpán Němec, Oct 8, 2010
  31. Jonathan NiederOct 8, 2010
  32. Štěpán NěmecOct 8, 2010
  33. Jonathan NiederOct 8, 2010
  34. Štěpán NěmecOct 8, 2010
  35. Jonathan NiederOct 8, 2010
  36. 3/6 Use parentheses and `...' where appropriateŠtěpán Němec, Oct 8, 2010
  37. 4/6 Remove stray quotes in --pretty and --format documentationŠtěpán Němec, Oct 8, 2010
  38. 5/6 Put a space between `<' and argument in pack-objects usage stringŠtěpán Němec, Oct 8, 2010
  39. 6/6 Fix {update,checkout}-index usage stringsŠtěpán Němec, Oct 8, 2010
  40. 0/2 pack-objects: use ALLOC_GROW in place of manual growthJonathan Nieder, Oct 8, 2010
  41. 1/2 Documentation: No argument of ALLOC_GROW should have side-effectsJonathan Nieder, Oct 8, 2010
  42. 2/2 pack-objects: use ALLOC_GROWJonathan Nieder, Oct 8, 2010
  43. 3/2 Allow side-effects in second argument to ALLOC_GROWJonathan Nieder, Oct 8, 2010

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.