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

[PATCH 00/25] completion: add missing diff options

From
Philippe Blain via GitGitGadget <gitgitgadget@gmail.com>
Date
Jun 10, 2023, 20:20 UTC
Message-ID
<pull.1543.git.1686428484.gitgitgadget@gmail.com>

This series adds missing diff options to the Bash completion script. Completion often serves as a discovery mechanism for options, so it is beneficial to users if all options are offered by the completion script.

The list of missing options was generated by:
 1. Extracting all diff options from the documentation:
    
    git grep -h --no-column --only-match -e ^--[a-z][a-z-]*
    Documentation/diff-options.txt
    | sort -u > diff-options.txt
 2. Searching for each option in the completion script and visually checking
    which one was missing:
    
    while read p; do echo --- $p ---; echo; git grep --color -p -e $p
    upstream/master contrib/completion/git-completion.bash done <
    diff-options.txt

The only options I left out are --skip-to and --rotate-to, since I agree with their documentation: they are probably not very useful outside of their use in 'git difftool'.

Cheers,
Philippe.
Philippe Blain (25):
  completion: add comments describing __git_diff_* globals
  completion: complete --break-rewrites
  completion: complete --cc
  completion: complete --combined-all-paths
  completion: complete --compact-summary
  completion: complete --default-prefix
  completion: complete --find-copies
  completion: complete --find-object
  completion: complete --find-renames
  completion: complete --function-context
  completion: complete --ignore-matching-lines
  completion: complete --irreversible-delete
  completion: complete --ita-invisible-in-index and
    --ita-visible-in-index
  completion: complete --line-prefix
  completion: complete --no-relative
  completion: complete --no-stat
  completion: complete --output
  completion: complete --output-indicator-{context,new,old}
  completion: complete --patch-with-raw
  completion: complete --unified
  completion: complete --ws-error-highlight
  completion: move --pickaxe-{all,regex} to __git_diff_common_options
  completion: complete --diff-merges, its options and --no-diff-merges
  completion: complete --remerge-diff
  diff.c: mention completion above add_diff_options
 contrib/completion/git-completion.bash | 57 ++++++++++++++++++++++----
 diff.c                                 |  3 ++
 2 files changed, 51 insertions(+), 9 deletions(-)
base-commit: fe86abd7511a9a6862d5706c6fa1d9b57a63ba09
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1543%2Fphil-blain%2Fcompletion-common-diff-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1543/phil-blain/completion-common-diff-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1543
-- 
gitgitgadget
Next: Philippe Blain via GitGitGadget
Message 1 of 83 in “completion: add missing diff options”
  1. 00/25 completion: add missing diff optionsPhilippe Blain via GitGitGadget, Jun 10, 2023
  2. 02/25 completion: complete --break-rewritesPhilippe Blain via GitGitGadget, Jun 10, 2023
  3. 01/25 completion: add comments describing __git_diff_* globalsPhilippe Blain via GitGitGadget, Jun 10, 2023
  4. 05/25 completion: complete --compact-summaryPhilippe Blain via GitGitGadget, Jun 10, 2023
  5. 06/25 completion: complete --default-prefixPhilippe Blain via GitGitGadget, Jun 10, 2023
  6. 07/25 completion: complete --find-copiesPhilippe Blain via GitGitGadget, Jun 10, 2023
  7. 04/25 completion: complete --combined-all-pathsPhilippe Blain via GitGitGadget, Jun 10, 2023
  8. 08/25 completion: complete --find-objectPhilippe Blain via GitGitGadget, Jun 10, 2023
  9. 09/25 completion: complete --find-renamesPhilippe Blain via GitGitGadget, Jun 10, 2023
  10. 03/25 completion: complete --ccPhilippe Blain via GitGitGadget, Jun 10, 2023
  11. 11/25 completion: complete --ignore-matching-linesPhilippe Blain via GitGitGadget, Jun 10, 2023
  12. 12/25 completion: complete --irreversible-deletePhilippe Blain via GitGitGadget, Jun 10, 2023
  13. 10/25 completion: complete --function-contextPhilippe Blain via GitGitGadget, Jun 10, 2023
  14. 13/25 completion: complete --ita-invisible-in-index and --ita-visible-in-indexPhilippe Blain via GitGitGadget, Jun 10, 2023
  15. 14/25 completion: complete --line-prefixPhilippe Blain via GitGitGadget, Jun 10, 2023
  16. 16/25 completion: complete --no-statPhilippe Blain via GitGitGadget, Jun 10, 2023
  17. 15/25 completion: complete --no-relativePhilippe Blain via GitGitGadget, Jun 10, 2023
  18. 17/25 completion: complete --outputPhilippe Blain via GitGitGadget, Jun 10, 2023
  19. 19/25 completion: complete --patch-with-rawPhilippe Blain via GitGitGadget, Jun 10, 2023
  20. 18/25 completion: complete --output-indicator-{context,new,old}Philippe Blain via GitGitGadget, Jun 10, 2023
  21. 20/25 completion: complete --unifiedPhilippe Blain via GitGitGadget, Jun 10, 2023
  22. 21/25 completion: complete --ws-error-highlightPhilippe Blain via GitGitGadget, Jun 10, 2023
  23. Philippe BlainJun 12, 2023
  24. 22/25 completion: move --pickaxe-{all,regex} to __git_diff_common_optionsPhilippe Blain via GitGitGadget, Jun 10, 2023
  25. 24/25 completion: complete --remerge-diffPhilippe Blain via GitGitGadget, Jun 10, 2023
  26. 23/25 completion: complete --diff-merges, its options and --no-diff-mergesPhilippe Blain via GitGitGadget, Jun 10, 2023
  27. Eric SunshineJun 11, 2023
  28. Philippe BlainJun 11, 2023
  29. 25/25 diff.c: mention completion above add_diff_optionsPhilippe Blain via GitGitGadget, Jun 10, 2023
  30. Eric SunshineJun 11, 2023
  31. 00/25 completion: add missing diff optionsPhilippe Blain via GitGitGadget, Jun 12, 2023
  32. 01/25 completion: add comments describing __git_diff_* globalsPhilippe Blain via GitGitGadget, Jun 12, 2023
  33. 02/25 completion: complete --break-rewritesPhilippe Blain via GitGitGadget, Jun 12, 2023
  34. 03/25 completion: complete --ccPhilippe Blain via GitGitGadget, Jun 12, 2023
  35. 04/25 completion: complete --combined-all-pathsPhilippe Blain via GitGitGadget, Jun 12, 2023
  36. 06/25 completion: complete --default-prefixPhilippe Blain via GitGitGadget, Jun 12, 2023
  37. 07/25 completion: complete --find-copiesPhilippe Blain via GitGitGadget, Jun 12, 2023
  38. 10/25 completion: complete --function-contextPhilippe Blain via GitGitGadget, Jun 12, 2023
  39. 08/25 completion: complete --find-objectPhilippe Blain via GitGitGadget, Jun 12, 2023
  40. 09/25 completion: complete --find-renamesPhilippe Blain via GitGitGadget, Jun 12, 2023
  41. 05/25 completion: complete --compact-summaryPhilippe Blain via GitGitGadget, Jun 12, 2023
  42. 11/25 completion: complete --ignore-matching-linesPhilippe Blain via GitGitGadget, Jun 12, 2023
  43. 12/25 completion: complete --irreversible-deletePhilippe Blain via GitGitGadget, Jun 12, 2023
  44. 13/25 completion: complete --ita-invisible-in-index and --ita-visible-in-indexPhilippe Blain via GitGitGadget, Jun 12, 2023
  45. 14/25 completion: complete --line-prefixPhilippe Blain via GitGitGadget, Jun 12, 2023
  46. 15/25 completion: complete --no-relativePhilippe Blain via GitGitGadget, Jun 12, 2023
  47. 16/25 completion: complete --no-statPhilippe Blain via GitGitGadget, Jun 12, 2023
  48. 17/25 completion: complete --outputPhilippe Blain via GitGitGadget, Jun 12, 2023
  49. 18/25 completion: complete --output-indicator-{context,new,old}Philippe Blain via GitGitGadget, Jun 12, 2023
  50. 19/25 completion: complete --patch-with-rawPhilippe Blain via GitGitGadget, Jun 12, 2023
  51. Junio C HamanoJun 12, 2023
  52. Philippe BlainJun 12, 2023
  53. 20/25 completion: complete --unifiedPhilippe Blain via GitGitGadget, Jun 12, 2023
  54. 21/25 completion: complete --ws-error-highlightPhilippe Blain via GitGitGadget, Jun 12, 2023
  55. 22/25 completion: move --pickaxe-{all,regex} to __git_diff_common_optionsPhilippe Blain via GitGitGadget, Jun 12, 2023
  56. 23/25 completion: complete --diff-merges, its options and --no-diff-mergesPhilippe Blain via GitGitGadget, Jun 12, 2023
  57. 24/25 completion: complete --remerge-diffPhilippe Blain via GitGitGadget, Jun 12, 2023
  58. 25/25 diff.c: mention completion above add_diff_optionsPhilippe Blain via GitGitGadget, Jun 12, 2023
  59. 00/24 completion: add missing diff optionsPhilippe Blain via GitGitGadget, Jun 26, 2023
  60. 13/24 completion: complete --ita-invisible-in-index and --ita-visible-in-indexPhilippe Blain via GitGitGadget, Jun 26, 2023
  61. 15/24 completion: complete --no-relativePhilippe Blain via GitGitGadget, Jun 26, 2023
  62. 05/24 completion: complete --compact-summaryPhilippe Blain via GitGitGadget, Jun 26, 2023
  63. 09/24 completion: complete --find-renamesPhilippe Blain via GitGitGadget, Jun 26, 2023
  64. 08/24 completion: complete --find-objectPhilippe Blain via GitGitGadget, Jun 26, 2023
  65. 01/24 completion: add comments describing __git_diff_* globalsPhilippe Blain via GitGitGadget, Jun 26, 2023
  66. 14/24 completion: complete --line-prefixPhilippe Blain via GitGitGadget, Jun 26, 2023
  67. 10/24 completion: complete --function-contextPhilippe Blain via GitGitGadget, Jun 26, 2023
  68. 07/24 completion: complete --find-copiesPhilippe Blain via GitGitGadget, Jun 26, 2023
  69. 02/24 completion: complete --break-rewritesPhilippe Blain via GitGitGadget, Jun 26, 2023
  70. 19/24 completion: complete --unifiedPhilippe Blain via GitGitGadget, Jun 26, 2023
  71. 16/24 completion: complete --no-statPhilippe Blain via GitGitGadget, Jun 26, 2023
  72. 12/24 completion: complete --irreversible-deletePhilippe Blain via GitGitGadget, Jun 26, 2023
  73. 06/24 completion: complete --default-prefixPhilippe Blain via GitGitGadget, Jun 26, 2023
  74. 18/24 completion: complete --output-indicator-{context,new,old}Philippe Blain via GitGitGadget, Jun 26, 2023
  75. 03/24 completion: complete --ccPhilippe Blain via GitGitGadget, Jun 26, 2023
  76. 04/24 completion: complete --combined-all-pathsPhilippe Blain via GitGitGadget, Jun 26, 2023
  77. 20/24 completion: complete --ws-error-highlightPhilippe Blain via GitGitGadget, Jun 26, 2023
  78. 22/24 completion: complete --diff-merges, its options and --no-diff-mergesPhilippe Blain via GitGitGadget, Jun 26, 2023
  79. 23/24 completion: complete --remerge-diffPhilippe Blain via GitGitGadget, Jun 26, 2023
  80. 24/24 diff.c: mention completion above add_diff_optionsPhilippe Blain via GitGitGadget, Jun 26, 2023
  81. 21/24 completion: move --pickaxe-{all,regex} to __git_diff_common_optionsPhilippe Blain via GitGitGadget, Jun 26, 2023
  82. 11/24 completion: complete --ignore-matching-linesPhilippe Blain via GitGitGadget, Jun 26, 2023
  83. 17/24 completion: complete --outputPhilippe Blain via GitGitGadget, Jun 26, 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.