All of lore.kernel.org
 help / color / mirror / Atom feed
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

  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.