From: "Philippe Blain via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Eric Sunshine <sunshine@sunshineco.com>,
Philippe Blain <levraiphilippeblain@gmail.com>
Subject: [PATCH v2 00/25] completion: add missing diff options
Date: Mon, 12 Jun 2023 12:52:28 +0000 [thread overview]
Message-ID: <pull.1543.v2.git.1686574374.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1543.git.1686428484.gitgitgadget@gmail.com>
Changes since v1:
* correted authorship in 21/25
* fixed typos pointed out by Eric
v1: 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 | 4 ++
2 files changed, 52 insertions(+), 9 deletions(-)
base-commit: fe86abd7511a9a6862d5706c6fa1d9b57a63ba09
Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1543%2Fphil-blain%2Fcompletion-common-diff-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1543/phil-blain/completion-common-diff-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1543
Range-diff vs v1:
1: 4edabc7f15c = 1: 4edabc7f15c completion: add comments describing __git_diff_* globals
2: 1f3c9e8d417 = 2: 1f3c9e8d417 completion: complete --break-rewrites
3: d38823dd116 = 3: d38823dd116 completion: complete --cc
4: 51024ee2f2c = 4: 51024ee2f2c completion: complete --combined-all-paths
5: 63d70d645e2 = 5: 63d70d645e2 completion: complete --compact-summary
6: 7296a3a8c9d = 6: 7296a3a8c9d completion: complete --default-prefix
7: 1f9b213cee5 = 7: 1f9b213cee5 completion: complete --find-copies
8: 53b1c348f82 = 8: 53b1c348f82 completion: complete --find-object
9: 053f9e8620a = 9: 053f9e8620a completion: complete --find-renames
10: 2503d990e5c = 10: 2503d990e5c completion: complete --function-context
11: 8bd72945a2f = 11: 8bd72945a2f completion: complete --ignore-matching-lines
12: 5d32e972a0c = 12: 5d32e972a0c completion: complete --irreversible-delete
13: fd94e9ae783 = 13: fd94e9ae783 completion: complete --ita-invisible-in-index and --ita-visible-in-index
14: 560ad1cd017 = 14: 560ad1cd017 completion: complete --line-prefix
15: d3242e1f949 = 15: d3242e1f949 completion: complete --no-relative
16: 0f16a466fd9 = 16: 0f16a466fd9 completion: complete --no-stat
17: 761c75d4aec = 17: 761c75d4aec completion: complete --output
18: f8d430639bc = 18: f8d430639bc completion: complete --output-indicator-{context,new,old}
19: 807b8201d14 = 19: 807b8201d14 completion: complete --patch-with-raw
20: 19507b1a210 = 20: 19507b1a210 completion: complete --unified
21: f8246a2a581 ! 21: c78650f215e completion: complete --ws-error-highlight
@@
## Metadata ##
-Author: Philippe Blain <philippe.blain@canada.ca>
+Author: Philippe Blain <levraiphilippeblain@gmail.com>
## Commit message ##
completion: complete --ws-error-highlight
22: cbe0c1b3e5f = 22: 040248a3868 completion: move --pickaxe-{all,regex} to __git_diff_common_options
23: 5dc1e541d16 ! 23: 808e7db20cf completion: complete --diff-merges, its options and --no-diff-merges
@@ Metadata
## Commit message ##
completion: complete --diff-merges, its options and --no-diff-merges
- The flgs --[no-]diff-merges only make sense for 'git log' and 'git
+ The flags --[no-]diff-merges only make sense for 'git log' and 'git
show', so add a new variable __git_log_show_options for options only
relevant to these two commands, and add them there. Also add
__git_diff_merges_opts and list the accepted values for --diff-merges,
24: d66068db0a4 = 24: d5fc5b04b00 completion: complete --remerge-diff
25: 93b6233f0dd ! 25: da2cc42cbd4 diff.c: mention completion above add_diff_options
@@ diff.c: static int diff_opt_rotate_to(const struct option *opt, const char *arg,
return 0;
}
-+/* Consider adding new flags to __git_diff_common_options
++/*
++ * Consider adding new flags to __git_diff_common_options
+ * in contrib/completion/git-completion.bash
+ */
struct option *add_diff_options(const struct option *opts,
--
gitgitgadget
next prev parent reply other threads:[~2023-06-12 12:53 UTC|newest]
Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 01/25] completion: add comments describing __git_diff_* globals Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 02/25] completion: complete --break-rewrites Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 03/25] completion: complete --cc Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 04/25] completion: complete --combined-all-paths Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 05/25] completion: complete --compact-summary Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 06/25] completion: complete --default-prefix Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 07/25] completion: complete --find-copies Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 08/25] completion: complete --find-object Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 09/25] completion: complete --find-renames Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 10/25] completion: complete --function-context Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 11/25] completion: complete --ignore-matching-lines Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 12/25] completion: complete --irreversible-delete Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 13/25] completion: complete --ita-invisible-in-index and --ita-visible-in-index Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 14/25] completion: complete --line-prefix Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 15/25] completion: complete --no-relative Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 16/25] completion: complete --no-stat Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 17/25] completion: complete --output Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 18/25] completion: complete --output-indicator-{context,new,old} Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 19/25] completion: complete --patch-with-raw Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 20/25] completion: complete --unified Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 21/25] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
2023-06-12 12:49 ` Philippe Blain
2023-06-10 20:21 ` [PATCH 22/25] completion: move --pickaxe-{all,regex} to __git_diff_common_options Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 23/25] completion: complete --diff-merges, its options and --no-diff-merges Philippe Blain via GitGitGadget
2023-06-11 2:35 ` Eric Sunshine
2023-06-11 14:56 ` Philippe Blain
2023-06-10 20:21 ` [PATCH 24/25] completion: complete --remerge-diff Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 25/25] diff.c: mention completion above add_diff_options Philippe Blain via GitGitGadget
2023-06-11 2:36 ` Eric Sunshine
2023-06-12 12:52 ` Philippe Blain via GitGitGadget [this message]
2023-06-12 12:52 ` [PATCH v2 01/25] completion: add comments describing __git_diff_* globals Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 02/25] completion: complete --break-rewrites Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 03/25] completion: complete --cc Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 04/25] completion: complete --combined-all-paths Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 05/25] completion: complete --compact-summary Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 06/25] completion: complete --default-prefix Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 07/25] completion: complete --find-copies Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 08/25] completion: complete --find-object Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 09/25] completion: complete --find-renames Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 10/25] completion: complete --function-context Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 11/25] completion: complete --ignore-matching-lines Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 12/25] completion: complete --irreversible-delete Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 13/25] completion: complete --ita-invisible-in-index and --ita-visible-in-index Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 14/25] completion: complete --line-prefix Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 15/25] completion: complete --no-relative Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 16/25] completion: complete --no-stat Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 17/25] completion: complete --output Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 18/25] completion: complete --output-indicator-{context,new,old} Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 19/25] completion: complete --patch-with-raw Philippe Blain via GitGitGadget
2023-06-12 21:42 ` Junio C Hamano
2023-06-12 22:57 ` Philippe Blain
2023-06-12 12:52 ` [PATCH v2 20/25] completion: complete --unified Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 21/25] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 22/25] completion: move --pickaxe-{all,regex} to __git_diff_common_options Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 23/25] completion: complete --diff-merges, its options and --no-diff-merges Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 24/25] completion: complete --remerge-diff Philippe Blain via GitGitGadget
2023-06-12 12:52 ` [PATCH v2 25/25] diff.c: mention completion above add_diff_options Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 01/24] completion: add comments describing __git_diff_* globals Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 02/24] completion: complete --break-rewrites Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 03/24] completion: complete --cc Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 04/24] completion: complete --combined-all-paths Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 05/24] completion: complete --compact-summary Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 06/24] completion: complete --default-prefix Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 07/24] completion: complete --find-copies Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 08/24] completion: complete --find-object Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 09/24] completion: complete --find-renames Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 10/24] completion: complete --function-context Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 11/24] completion: complete --ignore-matching-lines Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 12/24] completion: complete --irreversible-delete Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 13/24] completion: complete --ita-invisible-in-index and --ita-visible-in-index Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 14/24] completion: complete --line-prefix Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 15/24] completion: complete --no-relative Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 16/24] completion: complete --no-stat Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 17/24] completion: complete --output Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 18/24] completion: complete --output-indicator-{context,new,old} Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 19/24] completion: complete --unified Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 20/24] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 21/24] completion: move --pickaxe-{all,regex} to __git_diff_common_options Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 22/24] completion: complete --diff-merges, its options and --no-diff-merges Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 23/24] completion: complete --remerge-diff Philippe Blain via GitGitGadget
2023-06-26 16:24 ` [PATCH v3 24/24] diff.c: mention completion above add_diff_options Philippe Blain via GitGitGadget
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:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=pull.1543.v2.git.1686574374.gitgitgadget@gmail.com \
--to=gitgitgadget@gmail.com \
--cc=git@vger.kernel.org \
--cc=levraiphilippeblain@gmail.com \
--cc=sunshine@sunshineco.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.