Git Mailing List Archive mirror
 help / color / mirror / Atom feed
* [PATCH 00/25] completion: add missing diff options
@ 2023-06-10 20:20 Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 01/25] completion: add comments describing __git_diff_* globals Philippe Blain via GitGitGadget
                   ` (25 more replies)
  0 siblings, 26 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:20 UTC (permalink / raw
  To: git; +Cc: Philippe Blain

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

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [PATCH 01/25] completion: add comments describing __git_diff_* globals
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 02/25] completion: complete --break-rewrites Philippe Blain via GitGitGadget
                   ` (24 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Add descriptive comments for '__git_diff_common_options' and
'__git_diff_difftool_options', so that it is clearer when looking at
these variables to know in which command's completion they are used.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index dc95c34cc85..90fe292459b 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1733,6 +1733,7 @@ __git_color_moved_opts="no default plain blocks zebra dimmed-zebra"
 __git_color_moved_ws_opts="no ignore-space-at-eol ignore-space-change
 			ignore-all-space allow-indentation-change"
 
+# Options for the diff machinery (diff, log, show, stash, range-diff, ...)
 __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch-with-stat --name-only --name-status --color
 			--no-color --color-words --no-renames --check
@@ -1757,6 +1758,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--anchored=
 "
 
+# Options for diff/difftool
 __git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
 			--base --ours --theirs --no-index --relative --merge-base
 			$__git_diff_common_options"
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 02/25] completion: complete --break-rewrites
  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 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 03/25] completion: complete --cc Philippe Blain via GitGitGadget
                   ` (23 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 90fe292459b..f07b00b9c68 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1753,7 +1753,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--diff-algorithm=
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
-			--textconv --no-textconv
+			--textconv --no-textconv --break-rewrites
 			--patch --no-patch
 			--anchored=
 "
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 03/25] completion: complete --cc
  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 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 04/25] completion: complete --combined-all-paths Philippe Blain via GitGitGadget
                   ` (22 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index f07b00b9c68..b61c54e37f7 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1754,7 +1754,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
-			--patch --no-patch
+			--patch --no-patch --cc
 			--anchored=
 "
 
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 04/25] completion: complete --combined-all-paths
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (2 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 03/25] completion: complete --cc Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 05/25] completion: complete --compact-summary Philippe Blain via GitGitGadget
                   ` (21 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index b61c54e37f7..58ce64de9e2 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1754,7 +1754,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
-			--patch --no-patch --cc
+			--patch --no-patch --cc --combined-all-paths
 			--anchored=
 "
 
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 05/25] completion: complete --compact-summary
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (3 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 04/25] completion: complete --combined-all-paths Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 06/25] completion: complete --default-prefix Philippe Blain via GitGitGadget
                   ` (20 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 58ce64de9e2..4c43d13eef4 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1755,7 +1755,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
-			--anchored=
+			--anchored= --compact-summary
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 06/25] completion: complete --default-prefix
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (4 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 05/25] completion: complete --compact-summary Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 07/25] completion: complete --find-copies Philippe Blain via GitGitGadget
                   ` (19 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 4c43d13eef4..6af04932a0a 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1750,7 +1750,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--raw --word-diff --word-diff-regex=
 			--dirstat --dirstat= --dirstat-by-file
 			--dirstat-by-file= --cumulative
-			--diff-algorithm=
+			--diff-algorithm= --default-prefix
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 07/25] completion: complete --find-copies
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (5 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 06/25] completion: complete --default-prefix Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 08/25] completion: complete --find-object Philippe Blain via GitGitGadget
                   ` (18 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 6af04932a0a..dd6e12ad8f6 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1740,6 +1740,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved --color-moved= --no-color-moved
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
+			--find-copies
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 08/25] completion: complete --find-object
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (6 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 07/25] completion: complete --find-copies Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 09/25] completion: complete --find-renames Philippe Blain via GitGitGadget
                   ` (17 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index dd6e12ad8f6..392fdbedd9f 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1740,7 +1740,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved --color-moved= --no-color-moved
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
-			--find-copies
+			--find-copies --find-object
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 09/25] completion: complete --find-renames
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (7 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 08/25] completion: complete --find-object Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 10/25] completion: complete --function-context Philippe Blain via GitGitGadget
                   ` (16 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 392fdbedd9f..0fa86dcde6f 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1740,7 +1740,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved --color-moved= --no-color-moved
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
-			--find-copies --find-object
+			--find-copies --find-object --find-renames
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 10/25] completion: complete --function-context
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (8 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 09/25] completion: complete --find-renames Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 11/25] completion: complete --ignore-matching-lines Philippe Blain via GitGitGadget
                   ` (15 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 0fa86dcde6f..2610a55487b 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1746,7 +1746,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--ignore-all-space --ignore-blank-lines --exit-code
 			--quiet --ext-diff --no-ext-diff
 			--no-prefix --src-prefix= --dst-prefix=
-			--inter-hunk-context=
+			--inter-hunk-context= --function-context
 			--patience --histogram --minimal
 			--raw --word-diff --word-diff-regex=
 			--dirstat --dirstat= --dirstat-by-file
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 11/25] completion: complete --ignore-matching-lines
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (9 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 10/25] completion: complete --function-context Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 12/25] completion: complete --irreversible-delete Philippe Blain via GitGitGadget
                   ` (14 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 2610a55487b..b4d0643b049 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1756,7 +1756,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
-			--anchored= --compact-summary
+			--anchored= --compact-summary --ignore-matching-lines=
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 12/25] completion: complete --irreversible-delete
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (10 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 11/25] completion: complete --ignore-matching-lines Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` 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
                   ` (13 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index b4d0643b049..e74636ebe86 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1757,6 +1757,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
+			--irreversible-delete
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 13/25] completion: complete --ita-invisible-in-index and --ita-visible-in-index
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (11 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 12/25] completion: complete --irreversible-delete Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 14/25] completion: complete --line-prefix Philippe Blain via GitGitGadget
                   ` (12 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

The options --ita-invisible-in-index and --ita-visible-in-index are
listed in diff-options.txt and so are included in the documentation of
commands which include this file (diff, diff-*, log, show, format-patch)
but they only make sense for diffs relating to the index. As such, add
them to '__git_diff_difftool_options' instead of
'__git_diff_common_options' since it makes more sense to add them there.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index e74636ebe86..7246ced14ad 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1763,6 +1763,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 # Options for diff/difftool
 __git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
 			--base --ours --theirs --no-index --relative --merge-base
+			--ita-invisible-in-index --ita-visible-in-index
 			$__git_diff_common_options"
 
 _git_diff ()
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 14/25] completion: complete --line-prefix
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (12 preceding siblings ...)
  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 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 15/25] completion: complete --no-relative Philippe Blain via GitGitGadget
                   ` (11 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 7246ced14ad..13d6730f33d 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1757,7 +1757,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
-			--irreversible-delete
+			--irreversible-delete --line-prefix
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 15/25] completion: complete --no-relative
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (13 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 14/25] completion: complete --line-prefix Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 16/25] completion: complete --no-stat Philippe Blain via GitGitGadget
                   ` (10 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Add --no-relative to __git_diff_common_options in the completion script,
and move --relative from __git_diff_difftool_options to
__git_diff_common_options since it applies to more than just diff and
difftool.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 13d6730f33d..f4e773cb997 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1741,6 +1741,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
 			--find-copies --find-object --find-renames
+			--no-relative --relative
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
@@ -1762,7 +1763,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 
 # Options for diff/difftool
 __git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
-			--base --ours --theirs --no-index --relative --merge-base
+			--base --ours --theirs --no-index --merge-base
 			--ita-invisible-in-index --ita-visible-in-index
 			$__git_diff_common_options"
 
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 16/25] completion: complete --no-stat
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (14 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 15/25] completion: complete --no-relative Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 17/25] completion: complete --output Philippe Blain via GitGitGadget
                   ` (9 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index f4e773cb997..ec2e4c9e711 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1758,7 +1758,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
-			--irreversible-delete --line-prefix
+			--irreversible-delete --line-prefix --no-stat
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 17/25] completion: complete --output
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (15 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 16/25] completion: complete --no-stat Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 18/25] completion: complete --output-indicator-{context,new,old} Philippe Blain via GitGitGadget
                   ` (8 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index ec2e4c9e711..a34432796bf 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1759,6 +1759,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
 			--irreversible-delete --line-prefix --no-stat
+			--output=
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 18/25] completion: complete --output-indicator-{context,new,old}
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (16 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 17/25] completion: complete --output Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 19/25] completion: complete --patch-with-raw Philippe Blain via GitGitGadget
                   ` (7 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index a34432796bf..a69421cd740 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1759,7 +1759,8 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
 			--irreversible-delete --line-prefix --no-stat
-			--output=
+			--output= --output-indicator-context=
+			--output-indicator-new= --output-indicator-old=
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 19/25] completion: complete --patch-with-raw
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (17 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 18/25] completion: complete --output-indicator-{context,new,old} Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 20/25] completion: complete --unified Philippe Blain via GitGitGadget
                   ` (6 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index a69421cd740..c0d2678d320 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1741,7 +1741,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
 			--find-copies --find-object --find-renames
-			--no-relative --relative
+			--no-relative --relative --patch-with-raw
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 20/25] completion: complete --unified
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (18 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 19/25] completion: complete --patch-with-raw Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-10 20:21 ` [PATCH 21/25] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
                   ` (5 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index c0d2678d320..230d5807860 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1745,7 +1745,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-			--quiet --ext-diff --no-ext-diff
+			--quiet --ext-diff --no-ext-diff --unified=
 			--no-prefix --src-prefix= --dst-prefix=
 			--inter-hunk-context= --function-context
 			--patience --histogram --minimal
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 21/25] completion: complete --ws-error-highlight
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (19 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 20/25] completion: complete --unified Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` 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
                   ` (4 subsequent siblings)
  25 siblings, 1 reply; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <philippe.blain@canada.ca>

Add --ws-error-highlight= to the list in __git_diff_common_options, and
add the accepted values in a new list __git_ws_error_highlight_opts.

Use __git_ws_error_highlight_opts in _git_diff, _git_log and _git_show
to offer the accepted values.

As noted in fd0bc17557 (completion: add diff --color-moved[-ws],
2020-02-21), there is no easy way to offer completion for several
comma-separated values, so this is limited to completing a single
value.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 230d5807860..93522558a98 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1733,6 +1733,8 @@ __git_color_moved_opts="no default plain blocks zebra dimmed-zebra"
 __git_color_moved_ws_opts="no ignore-space-at-eol ignore-space-change
 			ignore-all-space allow-indentation-change"
 
+__git_ws_error_highlight_opts="context old new all default"
+
 # Options for the diff machinery (diff, log, show, stash, range-diff, ...)
 __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch-with-stat --name-only --name-status --color
@@ -1790,6 +1792,10 @@ _git_diff ()
 		__gitcomp "$__git_color_moved_ws_opts" "" "${cur##--color-moved-ws=}"
 		return
 		;;
+	--ws-error-highlight=*)
+		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
+		return
+		;;
 	--*)
 		__gitcomp "$__git_diff_difftool_options"
 		return
@@ -2080,6 +2086,10 @@ _git_log ()
 		__gitcomp "$__git_diff_submodule_formats" "" "${cur##--submodule=}"
 		return
 		;;
+	--ws-error-highlight=*)
+		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
+		return
+		;;
 	--no-walk=*)
 		__gitcomp "sorted unsorted" "" "${cur##--no-walk=}"
 		return
@@ -3000,6 +3010,10 @@ _git_show ()
 		__gitcomp "$__git_color_moved_ws_opts" "" "${cur##--color-moved-ws=}"
 		return
 		;;
+	--ws-error-highlight=*)
+		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
+		return
+		;;
 	--*)
 		__gitcomp "--pretty= --format= --abbrev-commit --no-abbrev-commit
 			--oneline --show-signature
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 22/25] completion: move --pickaxe-{all,regex} to __git_diff_common_options
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (20 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 21/25] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` 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
                   ` (3 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

The options --pickaxe-all and --pickaxe-regex are listed in
__git_diff_difftool_options and repeated in _git_log. Move them to
__git_diff_common_options instead, which makes them available
automatically in the completion of other commands referencing this
variable.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 93522558a98..8dd54fd3ae0 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1763,10 +1763,12 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--irreversible-delete --line-prefix --no-stat
 			--output= --output-indicator-context=
 			--output-indicator-new= --output-indicator-old=
+			--ws-error-highlight=
+			--pickaxe-all --pickaxe-regex
 "
 
 # Options for diff/difftool
-__git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
+__git_diff_difftool_options="--cached --staged
 			--base --ours --theirs --no-index --merge-base
 			--ita-invisible-in-index --ita-visible-in-index
 			$__git_diff_common_options"
@@ -2115,7 +2117,6 @@ _git_log ()
 			--expand-tabs --expand-tabs= --no-expand-tabs
 			$merge
 			$__git_diff_common_options
-			--pickaxe-all --pickaxe-regex
 			"
 		return
 		;;
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 23/25] completion: complete --diff-merges, its options and --no-diff-merges
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (21 preceding siblings ...)
  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 ` Philippe Blain via GitGitGadget
  2023-06-11  2:35   ` Eric Sunshine
  2023-06-10 20:21 ` [PATCH 24/25] completion: complete --remerge-diff Philippe Blain via GitGitGadget
                   ` (2 subsequent siblings)
  25 siblings, 1 reply; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

The flgs --[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,
and use it in _git_log and _git_show.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 8dd54fd3ae0..7b7f3f838e0 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2040,6 +2040,12 @@ __git_log_shortlog_options="
 	--author= --committer= --grep=
 	--all-match --invert-grep
 "
+# Options accepted by log and show
+__git_log_show_options="
+	--diff-merges --diff-merges= --no-diff-merges
+"
+
+__git_diff_merges_opts="off none on first-parent 1 separate m combined c dense-combined cc remerge r"
 
 __git_log_pretty_formats="oneline short medium full fuller reference email raw format: tformat: mboxrd"
 __git_log_date_formats="relative iso8601 iso8601-strict rfc2822 short local default human raw unix auto: format:"
@@ -2096,11 +2102,16 @@ _git_log ()
 		__gitcomp "sorted unsorted" "" "${cur##--no-walk=}"
 		return
 		;;
+	--diff-merges=*)
+                __gitcomp "$__git_diff_merges_opts" "" "${cur##--diff-merges=}"
+                return
+                ;;
 	--*)
 		__gitcomp "
 			$__git_log_common_options
 			$__git_log_shortlog_options
 			$__git_log_gitk_options
+			$__git_log_show_options
 			--root --topo-order --date-order --reverse
 			--follow --full-diff
 			--abbrev-commit --no-abbrev-commit --abbrev=
@@ -3015,10 +3026,15 @@ _git_show ()
 		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
 		return
 		;;
+	--diff-merges=*)
+                __gitcomp "$__git_diff_merges_opts" "" "${cur##--diff-merges=}"
+                return
+                ;;
 	--*)
 		__gitcomp "--pretty= --format= --abbrev-commit --no-abbrev-commit
 			--oneline --show-signature
 			--expand-tabs --expand-tabs= --no-expand-tabs
+			$__git_log_show_options
 			$__git_diff_common_options
 			"
 		return
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 24/25] completion: complete --remerge-diff
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (22 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 23/25] completion: complete --diff-merges, its options and --no-diff-merges Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` 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-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

--remerge-diff only makes sense for 'git log' and 'git show', so add it
to __git_log_show_options which is referenced in the completion for
these two commands.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 7b7f3f838e0..38b6bac9154 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2042,7 +2042,7 @@ __git_log_shortlog_options="
 "
 # Options accepted by log and show
 __git_log_show_options="
-	--diff-merges --diff-merges= --no-diff-merges
+	--diff-merges --diff-merges= --no-diff-merges --remerge-diff
 "
 
 __git_diff_merges_opts="off none on first-parent 1 separate m combined c dense-combined cc remerge r"
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH 25/25] diff.c: mention completion above add_diff_options
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (23 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 24/25] completion: complete --remerge-diff Philippe Blain via GitGitGadget
@ 2023-06-10 20:21 ` Philippe Blain via GitGitGadget
  2023-06-11  2:36   ` Eric Sunshine
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
  25 siblings, 1 reply; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-10 20:21 UTC (permalink / raw
  To: git; +Cc: Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Add a comment on top of add_diff_options, where common diff options are
listed, mentioning __git_diff_common_options in the completion script,
in the hope that contributors update it when they add new diff flags.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 diff.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/diff.c b/diff.c
index 3c88c37908d..fda7bc91f85 100644
--- a/diff.c
+++ b/diff.c
@@ -5491,6 +5491,9 @@ static int diff_opt_rotate_to(const struct option *opt, const char *arg, int uns
 	return 0;
 }
 
+/* Consider adding new flags to __git_diff_common_options
+ * in contrib/completion/git-completion.bash
+ */
 struct option *add_diff_options(const struct option *opts,
 				struct diff_options *options)
 {
-- 
gitgitgadget

^ permalink raw reply related	[flat|nested] 83+ messages in thread

* Re: [PATCH 23/25] completion: complete --diff-merges, its options and --no-diff-merges
  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
  0 siblings, 1 reply; 83+ messages in thread
From: Eric Sunshine @ 2023-06-11  2:35 UTC (permalink / raw
  To: Philippe Blain via GitGitGadget; +Cc: git, Philippe Blain

On Sat, Jun 10, 2023 at 4:24 PM Philippe Blain via GitGitGadget
<gitgitgadget@gmail.com> wrote:
> The flgs --[no-]diff-merges only make sense for 'git log' and 'git

s/flgs/flags/

> 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,
> and use it in _git_log and _git_show.
>
> Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: [PATCH 25/25] diff.c: mention completion above add_diff_options
  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
  0 siblings, 0 replies; 83+ messages in thread
From: Eric Sunshine @ 2023-06-11  2:36 UTC (permalink / raw
  To: Philippe Blain via GitGitGadget; +Cc: git, Philippe Blain

On Sat, Jun 10, 2023 at 4:24 PM Philippe Blain via GitGitGadget
<gitgitgadget@gmail.com> wrote:
> Add a comment on top of add_diff_options, where common diff options are
> listed, mentioning __git_diff_common_options in the completion script,
> in the hope that contributors update it when they add new diff flags.
>
> Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
> ---
> diff --git a/diff.c b/diff.c
> @@ -5491,6 +5491,9 @@ static int diff_opt_rotate_to(const struct option *opt, const char *arg, int uns
>         return 0;
>  }
>
> +/* Consider adding new flags to __git_diff_common_options
> + * in contrib/completion/git-completion.bash
> + */

Style:

    /*
     * This is a multi-line
     * comment.
     */

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: [PATCH 23/25] completion: complete --diff-merges, its options and --no-diff-merges
  2023-06-11  2:35   ` Eric Sunshine
@ 2023-06-11 14:56     ` Philippe Blain
  0 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain @ 2023-06-11 14:56 UTC (permalink / raw
  To: Eric Sunshine, Philippe Blain via GitGitGadget; +Cc: git

Hi Eric,

Le 2023-06-10 à 22:35, Eric Sunshine a écrit :
> On Sat, Jun 10, 2023 at 4:24 PM Philippe Blain via GitGitGadget
> <gitgitgadget@gmail.com> wrote:
>> The flgs --[no-]diff-merges only make sense for 'git log' and 'git
> 
> s/flgs/flags/
> 

Thanks, I fixed this as well as the styling of the comment on patch 25.

Philippe.

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: [PATCH 21/25] completion: complete --ws-error-highlight
  2023-06-10 20:21 ` [PATCH 21/25] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
@ 2023-06-12 12:49   ` Philippe Blain
  0 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain @ 2023-06-12 12:49 UTC (permalink / raw
  To: Philippe Blain via GitGitGadget, git; +Cc: Philippe Blain



Le 2023-06-10 à 16:21, Philippe Blain via GitGitGadget a écrit :
> From: Philippe Blain <philippe.blain@canada.ca>

This is a operator mistake that has slipped in. I'll resend with correct
author information. Please wait before merging this to seen. 

Thanks,
Philippe.

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [PATCH v2 00/25] completion: add missing diff options
  2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                   ` (24 preceding siblings ...)
  2023-06-10 20:21 ` [PATCH 25/25] diff.c: mention completion above add_diff_options Philippe Blain via GitGitGadget
@ 2023-06-12 12:52 ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 01/25] completion: add comments describing __git_diff_* globals Philippe Blain via GitGitGadget
                     ` (25 more replies)
  25 siblings, 26 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain

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

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [PATCH v2 01/25] completion: add comments describing __git_diff_* globals
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 02/25] completion: complete --break-rewrites Philippe Blain via GitGitGadget
                     ` (24 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Add descriptive comments for '__git_diff_common_options' and
'__git_diff_difftool_options', so that it is clearer when looking at
these variables to know in which command's completion they are used.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index dc95c34cc85..90fe292459b 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1733,6 +1733,7 @@ __git_color_moved_opts="no default plain blocks zebra dimmed-zebra"
 __git_color_moved_ws_opts="no ignore-space-at-eol ignore-space-change
 			ignore-all-space allow-indentation-change"
 
+# Options for the diff machinery (diff, log, show, stash, range-diff, ...)
 __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch-with-stat --name-only --name-status --color
 			--no-color --color-words --no-renames --check
@@ -1757,6 +1758,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--anchored=
 "
 
+# Options for diff/difftool
 __git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
 			--base --ours --theirs --no-index --relative --merge-base
 			$__git_diff_common_options"
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 02/25] completion: complete --break-rewrites
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
  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   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 03/25] completion: complete --cc Philippe Blain via GitGitGadget
                     ` (23 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 90fe292459b..f07b00b9c68 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1753,7 +1753,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--diff-algorithm=
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
-			--textconv --no-textconv
+			--textconv --no-textconv --break-rewrites
 			--patch --no-patch
 			--anchored=
 "
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 03/25] completion: complete --cc
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
  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   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 04/25] completion: complete --combined-all-paths Philippe Blain via GitGitGadget
                     ` (22 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index f07b00b9c68..b61c54e37f7 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1754,7 +1754,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
-			--patch --no-patch
+			--patch --no-patch --cc
 			--anchored=
 "
 
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 04/25] completion: complete --combined-all-paths
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (2 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 03/25] completion: complete --cc Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 05/25] completion: complete --compact-summary Philippe Blain via GitGitGadget
                     ` (21 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index b61c54e37f7..58ce64de9e2 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1754,7 +1754,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
-			--patch --no-patch --cc
+			--patch --no-patch --cc --combined-all-paths
 			--anchored=
 "
 
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 05/25] completion: complete --compact-summary
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (3 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 04/25] completion: complete --combined-all-paths Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 06/25] completion: complete --default-prefix Philippe Blain via GitGitGadget
                     ` (20 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 58ce64de9e2..4c43d13eef4 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1755,7 +1755,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
-			--anchored=
+			--anchored= --compact-summary
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 06/25] completion: complete --default-prefix
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (4 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 05/25] completion: complete --compact-summary Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 07/25] completion: complete --find-copies Philippe Blain via GitGitGadget
                     ` (19 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 4c43d13eef4..6af04932a0a 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1750,7 +1750,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--raw --word-diff --word-diff-regex=
 			--dirstat --dirstat= --dirstat-by-file
 			--dirstat-by-file= --cumulative
-			--diff-algorithm=
+			--diff-algorithm= --default-prefix
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 07/25] completion: complete --find-copies
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (5 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 06/25] completion: complete --default-prefix Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 08/25] completion: complete --find-object Philippe Blain via GitGitGadget
                     ` (18 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 6af04932a0a..dd6e12ad8f6 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1740,6 +1740,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved --color-moved= --no-color-moved
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
+			--find-copies
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 08/25] completion: complete --find-object
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (6 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 07/25] completion: complete --find-copies Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 09/25] completion: complete --find-renames Philippe Blain via GitGitGadget
                     ` (17 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index dd6e12ad8f6..392fdbedd9f 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1740,7 +1740,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved --color-moved= --no-color-moved
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
-			--find-copies
+			--find-copies --find-object
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 09/25] completion: complete --find-renames
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (7 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 08/25] completion: complete --find-object Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 10/25] completion: complete --function-context Philippe Blain via GitGitGadget
                     ` (16 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 392fdbedd9f..0fa86dcde6f 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1740,7 +1740,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved --color-moved= --no-color-moved
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
-			--find-copies --find-object
+			--find-copies --find-object --find-renames
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 10/25] completion: complete --function-context
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (8 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 09/25] completion: complete --find-renames Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 11/25] completion: complete --ignore-matching-lines Philippe Blain via GitGitGadget
                     ` (15 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 0fa86dcde6f..2610a55487b 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1746,7 +1746,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--ignore-all-space --ignore-blank-lines --exit-code
 			--quiet --ext-diff --no-ext-diff
 			--no-prefix --src-prefix= --dst-prefix=
-			--inter-hunk-context=
+			--inter-hunk-context= --function-context
 			--patience --histogram --minimal
 			--raw --word-diff --word-diff-regex=
 			--dirstat --dirstat= --dirstat-by-file
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 11/25] completion: complete --ignore-matching-lines
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (9 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 10/25] completion: complete --function-context Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 12/25] completion: complete --irreversible-delete Philippe Blain via GitGitGadget
                     ` (14 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 2610a55487b..b4d0643b049 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1756,7 +1756,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
-			--anchored= --compact-summary
+			--anchored= --compact-summary --ignore-matching-lines=
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 12/25] completion: complete --irreversible-delete
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (10 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 11/25] completion: complete --ignore-matching-lines Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` 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
                     ` (13 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index b4d0643b049..e74636ebe86 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1757,6 +1757,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
+			--irreversible-delete
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 13/25] completion: complete --ita-invisible-in-index and --ita-visible-in-index
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (11 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 12/25] completion: complete --irreversible-delete Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 14/25] completion: complete --line-prefix Philippe Blain via GitGitGadget
                     ` (12 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

The options --ita-invisible-in-index and --ita-visible-in-index are
listed in diff-options.txt and so are included in the documentation of
commands which include this file (diff, diff-*, log, show, format-patch)
but they only make sense for diffs relating to the index. As such, add
them to '__git_diff_difftool_options' instead of
'__git_diff_common_options' since it makes more sense to add them there.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index e74636ebe86..7246ced14ad 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1763,6 +1763,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 # Options for diff/difftool
 __git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
 			--base --ours --theirs --no-index --relative --merge-base
+			--ita-invisible-in-index --ita-visible-in-index
 			$__git_diff_common_options"
 
 _git_diff ()
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 14/25] completion: complete --line-prefix
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (12 preceding siblings ...)
  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   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 15/25] completion: complete --no-relative Philippe Blain via GitGitGadget
                     ` (11 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 7246ced14ad..13d6730f33d 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1757,7 +1757,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
-			--irreversible-delete
+			--irreversible-delete --line-prefix
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 15/25] completion: complete --no-relative
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (13 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 14/25] completion: complete --line-prefix Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 16/25] completion: complete --no-stat Philippe Blain via GitGitGadget
                     ` (10 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Add --no-relative to __git_diff_common_options in the completion script,
and move --relative from __git_diff_difftool_options to
__git_diff_common_options since it applies to more than just diff and
difftool.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 13d6730f33d..f4e773cb997 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1741,6 +1741,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
 			--find-copies --find-object --find-renames
+			--no-relative --relative
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
@@ -1762,7 +1763,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 
 # Options for diff/difftool
 __git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
-			--base --ours --theirs --no-index --relative --merge-base
+			--base --ours --theirs --no-index --merge-base
 			--ita-invisible-in-index --ita-visible-in-index
 			$__git_diff_common_options"
 
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 16/25] completion: complete --no-stat
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (14 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 15/25] completion: complete --no-relative Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 17/25] completion: complete --output Philippe Blain via GitGitGadget
                     ` (9 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index f4e773cb997..ec2e4c9e711 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1758,7 +1758,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
-			--irreversible-delete --line-prefix
+			--irreversible-delete --line-prefix --no-stat
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 17/25] completion: complete --output
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (15 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 16/25] completion: complete --no-stat Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 18/25] completion: complete --output-indicator-{context,new,old} Philippe Blain via GitGitGadget
                     ` (8 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index ec2e4c9e711..a34432796bf 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1759,6 +1759,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
 			--irreversible-delete --line-prefix --no-stat
+			--output=
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 18/25] completion: complete --output-indicator-{context,new,old}
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (16 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 17/25] completion: complete --output Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 19/25] completion: complete --patch-with-raw Philippe Blain via GitGitGadget
                     ` (7 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index a34432796bf..a69421cd740 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1759,7 +1759,8 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
 			--irreversible-delete --line-prefix --no-stat
-			--output=
+			--output= --output-indicator-context=
+			--output-indicator-new= --output-indicator-old=
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 19/25] completion: complete --patch-with-raw
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (17 preceding siblings ...)
  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   ` Philippe Blain via GitGitGadget
  2023-06-12 21:42     ` Junio C Hamano
  2023-06-12 12:52   ` [PATCH v2 20/25] completion: complete --unified Philippe Blain via GitGitGadget
                     ` (6 subsequent siblings)
  25 siblings, 1 reply; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index a69421cd740..c0d2678d320 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1741,7 +1741,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
 			--find-copies --find-object --find-renames
-			--no-relative --relative
+			--no-relative --relative --patch-with-raw
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 20/25] completion: complete --unified
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (18 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 19/25] completion: complete --patch-with-raw Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 21/25] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
                     ` (5 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index c0d2678d320..230d5807860 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1745,7 +1745,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-			--quiet --ext-diff --no-ext-diff
+			--quiet --ext-diff --no-ext-diff --unified=
 			--no-prefix --src-prefix= --dst-prefix=
 			--inter-hunk-context= --function-context
 			--patience --histogram --minimal
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 21/25] completion: complete --ws-error-highlight
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (19 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 20/25] completion: complete --unified Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` 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
                     ` (4 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Add --ws-error-highlight= to the list in __git_diff_common_options, and
add the accepted values in a new list __git_ws_error_highlight_opts.

Use __git_ws_error_highlight_opts in _git_diff, _git_log and _git_show
to offer the accepted values.

As noted in fd0bc17557 (completion: add diff --color-moved[-ws],
2020-02-21), there is no easy way to offer completion for several
comma-separated values, so this is limited to completing a single
value.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 230d5807860..93522558a98 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1733,6 +1733,8 @@ __git_color_moved_opts="no default plain blocks zebra dimmed-zebra"
 __git_color_moved_ws_opts="no ignore-space-at-eol ignore-space-change
 			ignore-all-space allow-indentation-change"
 
+__git_ws_error_highlight_opts="context old new all default"
+
 # Options for the diff machinery (diff, log, show, stash, range-diff, ...)
 __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch-with-stat --name-only --name-status --color
@@ -1790,6 +1792,10 @@ _git_diff ()
 		__gitcomp "$__git_color_moved_ws_opts" "" "${cur##--color-moved-ws=}"
 		return
 		;;
+	--ws-error-highlight=*)
+		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
+		return
+		;;
 	--*)
 		__gitcomp "$__git_diff_difftool_options"
 		return
@@ -2080,6 +2086,10 @@ _git_log ()
 		__gitcomp "$__git_diff_submodule_formats" "" "${cur##--submodule=}"
 		return
 		;;
+	--ws-error-highlight=*)
+		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
+		return
+		;;
 	--no-walk=*)
 		__gitcomp "sorted unsorted" "" "${cur##--no-walk=}"
 		return
@@ -3000,6 +3010,10 @@ _git_show ()
 		__gitcomp "$__git_color_moved_ws_opts" "" "${cur##--color-moved-ws=}"
 		return
 		;;
+	--ws-error-highlight=*)
+		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
+		return
+		;;
 	--*)
 		__gitcomp "--pretty= --format= --abbrev-commit --no-abbrev-commit
 			--oneline --show-signature
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 22/25] completion: move --pickaxe-{all,regex} to __git_diff_common_options
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (20 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 21/25] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` 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
                     ` (3 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

The options --pickaxe-all and --pickaxe-regex are listed in
__git_diff_difftool_options and repeated in _git_log. Move them to
__git_diff_common_options instead, which makes them available
automatically in the completion of other commands referencing this
variable.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 93522558a98..8dd54fd3ae0 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1763,10 +1763,12 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--irreversible-delete --line-prefix --no-stat
 			--output= --output-indicator-context=
 			--output-indicator-new= --output-indicator-old=
+			--ws-error-highlight=
+			--pickaxe-all --pickaxe-regex
 "
 
 # Options for diff/difftool
-__git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
+__git_diff_difftool_options="--cached --staged
 			--base --ours --theirs --no-index --merge-base
 			--ita-invisible-in-index --ita-visible-in-index
 			$__git_diff_common_options"
@@ -2115,7 +2117,6 @@ _git_log ()
 			--expand-tabs --expand-tabs= --no-expand-tabs
 			$merge
 			$__git_diff_common_options
-			--pickaxe-all --pickaxe-regex
 			"
 		return
 		;;
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 23/25] completion: complete --diff-merges, its options and --no-diff-merges
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (21 preceding siblings ...)
  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   ` Philippe Blain via GitGitGadget
  2023-06-12 12:52   ` [PATCH v2 24/25] completion: complete --remerge-diff Philippe Blain via GitGitGadget
                     ` (2 subsequent siblings)
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

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,
and use it in _git_log and _git_show.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 8dd54fd3ae0..7b7f3f838e0 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2040,6 +2040,12 @@ __git_log_shortlog_options="
 	--author= --committer= --grep=
 	--all-match --invert-grep
 "
+# Options accepted by log and show
+__git_log_show_options="
+	--diff-merges --diff-merges= --no-diff-merges
+"
+
+__git_diff_merges_opts="off none on first-parent 1 separate m combined c dense-combined cc remerge r"
 
 __git_log_pretty_formats="oneline short medium full fuller reference email raw format: tformat: mboxrd"
 __git_log_date_formats="relative iso8601 iso8601-strict rfc2822 short local default human raw unix auto: format:"
@@ -2096,11 +2102,16 @@ _git_log ()
 		__gitcomp "sorted unsorted" "" "${cur##--no-walk=}"
 		return
 		;;
+	--diff-merges=*)
+                __gitcomp "$__git_diff_merges_opts" "" "${cur##--diff-merges=}"
+                return
+                ;;
 	--*)
 		__gitcomp "
 			$__git_log_common_options
 			$__git_log_shortlog_options
 			$__git_log_gitk_options
+			$__git_log_show_options
 			--root --topo-order --date-order --reverse
 			--follow --full-diff
 			--abbrev-commit --no-abbrev-commit --abbrev=
@@ -3015,10 +3026,15 @@ _git_show ()
 		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
 		return
 		;;
+	--diff-merges=*)
+                __gitcomp "$__git_diff_merges_opts" "" "${cur##--diff-merges=}"
+                return
+                ;;
 	--*)
 		__gitcomp "--pretty= --format= --abbrev-commit --no-abbrev-commit
 			--oneline --show-signature
 			--expand-tabs --expand-tabs= --no-expand-tabs
+			$__git_log_show_options
 			$__git_diff_common_options
 			"
 		return
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 24/25] completion: complete --remerge-diff
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (22 preceding siblings ...)
  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   ` 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
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

--remerge-diff only makes sense for 'git log' and 'git show', so add it
to __git_log_show_options which is referenced in the completion for
these two commands.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 7b7f3f838e0..38b6bac9154 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2042,7 +2042,7 @@ __git_log_shortlog_options="
 "
 # Options accepted by log and show
 __git_log_show_options="
-	--diff-merges --diff-merges= --no-diff-merges
+	--diff-merges --diff-merges= --no-diff-merges --remerge-diff
 "
 
 __git_diff_merges_opts="off none on first-parent 1 separate m combined c dense-combined cc remerge r"
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v2 25/25] diff.c: mention completion above add_diff_options
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (23 preceding siblings ...)
  2023-06-12 12:52   ` [PATCH v2 24/25] completion: complete --remerge-diff Philippe Blain via GitGitGadget
@ 2023-06-12 12:52   ` Philippe Blain via GitGitGadget
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
  25 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-12 12:52 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Add a comment on top of add_diff_options, where common diff options are
listed, mentioning __git_diff_common_options in the completion script,
in the hope that contributors update it when they add new diff flags.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 diff.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/diff.c b/diff.c
index 3c88c37908d..64c93c0f0e2 100644
--- a/diff.c
+++ b/diff.c
@@ -5491,6 +5491,10 @@ static int diff_opt_rotate_to(const struct option *opt, const char *arg, int uns
 	return 0;
 }
 
+/*
+ * Consider adding new flags to __git_diff_common_options
+ * in contrib/completion/git-completion.bash
+ */
 struct option *add_diff_options(const struct option *opts,
 				struct diff_options *options)
 {
-- 
gitgitgadget

^ permalink raw reply related	[flat|nested] 83+ messages in thread

* Re: [PATCH v2 19/25] completion: complete --patch-with-raw
  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
  0 siblings, 1 reply; 83+ messages in thread
From: Junio C Hamano @ 2023-06-12 21:42 UTC (permalink / raw
  To: Philippe Blain via GitGitGadget; +Cc: git, Eric Sunshine, Philippe Blain

"Philippe Blain via GitGitGadget" <gitgitgadget@gmail.com> writes:

> From: Philippe Blain <levraiphilippeblain@gmail.com>
>
> Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
> ---
>  contrib/completion/git-completion.bash | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Everything else in the series looked OK, but I am not sure if we
want to advertise this historical wart that has no practical
advantage over using "-p --raw".  The only reason why we kept it is
because we do not have to even think about how likely it will break
ancient scripts if we removed it.

Thanks.

> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index a69421cd740..c0d2678d320 100644
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -1741,7 +1741,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
>  			--color-moved-ws= --no-color-moved-ws
>  			--full-index --binary --abbrev --diff-filter=
>  			--find-copies --find-object --find-renames
> -			--no-relative --relative
> +			--no-relative --relative --patch-with-raw
>  			--find-copies-harder --ignore-cr-at-eol
>  			--text --ignore-space-at-eol --ignore-space-change
>  			--ignore-all-space --ignore-blank-lines --exit-code

^ permalink raw reply	[flat|nested] 83+ messages in thread

* Re: [PATCH v2 19/25] completion: complete --patch-with-raw
  2023-06-12 21:42     ` Junio C Hamano
@ 2023-06-12 22:57       ` Philippe Blain
  0 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain @ 2023-06-12 22:57 UTC (permalink / raw
  To: Junio C Hamano, Philippe Blain via GitGitGadget; +Cc: git, Eric Sunshine

Hi Junio,

Le 2023-06-12 à 17:42, Junio C Hamano a écrit :
> "Philippe Blain via GitGitGadget" <gitgitgadget@gmail.com> writes:
> 
>> From: Philippe Blain <levraiphilippeblain@gmail.com>
>>
>> Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
>> ---
>>  contrib/completion/git-completion.bash | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> Everything else in the series looked OK, but I am not sure if we
> want to advertise this historical wart that has no practical
> advantage over using "-p --raw".  The only reason why we kept it is
> because we do not have to even think about how likely it will break
> ancient scripts if we removed it.
> 
> Thanks.

Yes, I tend to agree. I can drop this one in the next version.


^ permalink raw reply	[flat|nested] 83+ messages in thread

* [PATCH v3 00/24] completion: add missing diff options
  2023-06-12 12:52 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
                     ` (24 preceding siblings ...)
  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   ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 01/24] completion: add comments describing __git_diff_* globals Philippe Blain via GitGitGadget
                       ` (23 more replies)
  25 siblings, 24 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain

Changes since v2:

 * removed --patch-with-raw on Junio's suggestion, '-p --raw' does the exact
   same thing.

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 (24):
  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 --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-v3
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1543/phil-blain/completion-common-diff-v3
Pull-Request: https://github.com/gitgitgadget/git/pull/1543

Range-diff vs v2:

  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 <  -:  ----------- completion: complete --patch-with-raw
 20:  19507b1a210 = 19:  cbf2e59cbea completion: complete --unified
 21:  c78650f215e = 20:  4750951f120 completion: complete --ws-error-highlight
 22:  040248a3868 = 21:  eda4d407ded completion: move --pickaxe-{all,regex} to __git_diff_common_options
 23:  808e7db20cf = 22:  fb23869dfbb completion: complete --diff-merges, its options and --no-diff-merges
 24:  d5fc5b04b00 = 23:  eb9a6a06914 completion: complete --remerge-diff
 25:  da2cc42cbd4 = 24:  47e81c2add6 diff.c: mention completion above add_diff_options

-- 
gitgitgadget

^ permalink raw reply	[flat|nested] 83+ messages in thread

* [PATCH v3 01/24] completion: add comments describing __git_diff_* globals
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 02/24] completion: complete --break-rewrites Philippe Blain via GitGitGadget
                       ` (22 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Add descriptive comments for '__git_diff_common_options' and
'__git_diff_difftool_options', so that it is clearer when looking at
these variables to know in which command's completion they are used.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index dc95c34cc85..90fe292459b 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1733,6 +1733,7 @@ __git_color_moved_opts="no default plain blocks zebra dimmed-zebra"
 __git_color_moved_ws_opts="no ignore-space-at-eol ignore-space-change
 			ignore-all-space allow-indentation-change"
 
+# Options for the diff machinery (diff, log, show, stash, range-diff, ...)
 __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch-with-stat --name-only --name-status --color
 			--no-color --color-words --no-renames --check
@@ -1757,6 +1758,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--anchored=
 "
 
+# Options for diff/difftool
 __git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
 			--base --ours --theirs --no-index --relative --merge-base
 			$__git_diff_common_options"
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 02/24] completion: complete --break-rewrites
  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     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 03/24] completion: complete --cc Philippe Blain via GitGitGadget
                       ` (21 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 90fe292459b..f07b00b9c68 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1753,7 +1753,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--diff-algorithm=
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
-			--textconv --no-textconv
+			--textconv --no-textconv --break-rewrites
 			--patch --no-patch
 			--anchored=
 "
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 03/24] completion: complete --cc
  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     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 04/24] completion: complete --combined-all-paths Philippe Blain via GitGitGadget
                       ` (20 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index f07b00b9c68..b61c54e37f7 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1754,7 +1754,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
-			--patch --no-patch
+			--patch --no-patch --cc
 			--anchored=
 "
 
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 04/24] completion: complete --combined-all-paths
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (2 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 03/24] completion: complete --cc Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 05/24] completion: complete --compact-summary Philippe Blain via GitGitGadget
                       ` (19 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index b61c54e37f7..58ce64de9e2 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1754,7 +1754,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
-			--patch --no-patch --cc
+			--patch --no-patch --cc --combined-all-paths
 			--anchored=
 "
 
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 05/24] completion: complete --compact-summary
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (3 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 04/24] completion: complete --combined-all-paths Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 06/24] completion: complete --default-prefix Philippe Blain via GitGitGadget
                       ` (18 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 58ce64de9e2..4c43d13eef4 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1755,7 +1755,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
-			--anchored=
+			--anchored= --compact-summary
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 06/24] completion: complete --default-prefix
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (4 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 05/24] completion: complete --compact-summary Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 07/24] completion: complete --find-copies Philippe Blain via GitGitGadget
                       ` (17 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 4c43d13eef4..6af04932a0a 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1750,7 +1750,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--raw --word-diff --word-diff-regex=
 			--dirstat --dirstat= --dirstat-by-file
 			--dirstat-by-file= --cumulative
-			--diff-algorithm=
+			--diff-algorithm= --default-prefix
 			--submodule --submodule= --ignore-submodules
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 07/24] completion: complete --find-copies
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (5 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 06/24] completion: complete --default-prefix Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 08/24] completion: complete --find-object Philippe Blain via GitGitGadget
                       ` (16 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 6af04932a0a..dd6e12ad8f6 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1740,6 +1740,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved --color-moved= --no-color-moved
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
+			--find-copies
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 08/24] completion: complete --find-object
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (6 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 07/24] completion: complete --find-copies Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 09/24] completion: complete --find-renames Philippe Blain via GitGitGadget
                       ` (15 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index dd6e12ad8f6..392fdbedd9f 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1740,7 +1740,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved --color-moved= --no-color-moved
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
-			--find-copies
+			--find-copies --find-object
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 09/24] completion: complete --find-renames
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (7 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 08/24] completion: complete --find-object Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 10/24] completion: complete --function-context Philippe Blain via GitGitGadget
                       ` (14 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 392fdbedd9f..0fa86dcde6f 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1740,7 +1740,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved --color-moved= --no-color-moved
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
-			--find-copies --find-object
+			--find-copies --find-object --find-renames
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 10/24] completion: complete --function-context
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (8 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 09/24] completion: complete --find-renames Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 11/24] completion: complete --ignore-matching-lines Philippe Blain via GitGitGadget
                       ` (13 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 0fa86dcde6f..2610a55487b 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1746,7 +1746,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--ignore-all-space --ignore-blank-lines --exit-code
 			--quiet --ext-diff --no-ext-diff
 			--no-prefix --src-prefix= --dst-prefix=
-			--inter-hunk-context=
+			--inter-hunk-context= --function-context
 			--patience --histogram --minimal
 			--raw --word-diff --word-diff-regex=
 			--dirstat --dirstat= --dirstat-by-file
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 11/24] completion: complete --ignore-matching-lines
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (9 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 10/24] completion: complete --function-context Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 12/24] completion: complete --irreversible-delete Philippe Blain via GitGitGadget
                       ` (12 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 2610a55487b..b4d0643b049 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1756,7 +1756,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--indent-heuristic --no-indent-heuristic
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
-			--anchored= --compact-summary
+			--anchored= --compact-summary --ignore-matching-lines=
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 12/24] completion: complete --irreversible-delete
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (10 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 11/24] completion: complete --ignore-matching-lines Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` 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
                       ` (11 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index b4d0643b049..e74636ebe86 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1757,6 +1757,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
+			--irreversible-delete
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 13/24] completion: complete --ita-invisible-in-index and --ita-visible-in-index
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (11 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 12/24] completion: complete --irreversible-delete Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 14/24] completion: complete --line-prefix Philippe Blain via GitGitGadget
                       ` (10 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

The options --ita-invisible-in-index and --ita-visible-in-index are
listed in diff-options.txt and so are included in the documentation of
commands which include this file (diff, diff-*, log, show, format-patch)
but they only make sense for diffs relating to the index. As such, add
them to '__git_diff_difftool_options' instead of
'__git_diff_common_options' since it makes more sense to add them there.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index e74636ebe86..7246ced14ad 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1763,6 +1763,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 # Options for diff/difftool
 __git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
 			--base --ours --theirs --no-index --relative --merge-base
+			--ita-invisible-in-index --ita-visible-in-index
 			$__git_diff_common_options"
 
 _git_diff ()
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 14/24] completion: complete --line-prefix
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (12 preceding siblings ...)
  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     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 15/24] completion: complete --no-relative Philippe Blain via GitGitGadget
                       ` (9 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 7246ced14ad..13d6730f33d 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1757,7 +1757,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
-			--irreversible-delete
+			--irreversible-delete --line-prefix
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 15/24] completion: complete --no-relative
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (13 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 14/24] completion: complete --line-prefix Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 16/24] completion: complete --no-stat Philippe Blain via GitGitGadget
                       ` (8 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Add --no-relative to __git_diff_common_options in the completion script,
and move --relative from __git_diff_difftool_options to
__git_diff_common_options since it applies to more than just diff and
difftool.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 13d6730f33d..f4e773cb997 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1741,6 +1741,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--color-moved-ws= --no-color-moved-ws
 			--full-index --binary --abbrev --diff-filter=
 			--find-copies --find-object --find-renames
+			--no-relative --relative
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
@@ -1762,7 +1763,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 
 # Options for diff/difftool
 __git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
-			--base --ours --theirs --no-index --relative --merge-base
+			--base --ours --theirs --no-index --merge-base
 			--ita-invisible-in-index --ita-visible-in-index
 			$__git_diff_common_options"
 
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 16/24] completion: complete --no-stat
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (14 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 15/24] completion: complete --no-relative Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 17/24] completion: complete --output Philippe Blain via GitGitGadget
                       ` (7 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index f4e773cb997..ec2e4c9e711 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1758,7 +1758,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--textconv --no-textconv --break-rewrites
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
-			--irreversible-delete --line-prefix
+			--irreversible-delete --line-prefix --no-stat
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 17/24] completion: complete --output
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (15 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 16/24] completion: complete --no-stat Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 18/24] completion: complete --output-indicator-{context,new,old} Philippe Blain via GitGitGadget
                       ` (6 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 1 +
 1 file changed, 1 insertion(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index ec2e4c9e711..a34432796bf 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1759,6 +1759,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
 			--irreversible-delete --line-prefix --no-stat
+			--output=
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 18/24] completion: complete --output-indicator-{context,new,old}
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (16 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 17/24] completion: complete --output Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 19/24] completion: complete --unified Philippe Blain via GitGitGadget
                       ` (5 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index a34432796bf..a69421cd740 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1759,7 +1759,8 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch --no-patch --cc --combined-all-paths
 			--anchored= --compact-summary --ignore-matching-lines=
 			--irreversible-delete --line-prefix --no-stat
-			--output=
+			--output= --output-indicator-context=
+			--output-indicator-new= --output-indicator-old=
 "
 
 # Options for diff/difftool
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 19/24] completion: complete --unified
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (17 preceding siblings ...)
  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     ` Philippe Blain via GitGitGadget
  2023-06-26 16:24     ` [PATCH v3 20/24] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
                       ` (4 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index a69421cd740..7babd95d844 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1745,7 +1745,7 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--find-copies-harder --ignore-cr-at-eol
 			--text --ignore-space-at-eol --ignore-space-change
 			--ignore-all-space --ignore-blank-lines --exit-code
-			--quiet --ext-diff --no-ext-diff
+			--quiet --ext-diff --no-ext-diff --unified=
 			--no-prefix --src-prefix= --dst-prefix=
 			--inter-hunk-context= --function-context
 			--patience --histogram --minimal
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 20/24] completion: complete --ws-error-highlight
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (18 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 19/24] completion: complete --unified Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` 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
                       ` (3 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Add --ws-error-highlight= to the list in __git_diff_common_options, and
add the accepted values in a new list __git_ws_error_highlight_opts.

Use __git_ws_error_highlight_opts in _git_diff, _git_log and _git_show
to offer the accepted values.

As noted in fd0bc17557 (completion: add diff --color-moved[-ws],
2020-02-21), there is no easy way to offer completion for several
comma-separated values, so this is limited to completing a single
value.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 7babd95d844..9de33ed05da 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1733,6 +1733,8 @@ __git_color_moved_opts="no default plain blocks zebra dimmed-zebra"
 __git_color_moved_ws_opts="no ignore-space-at-eol ignore-space-change
 			ignore-all-space allow-indentation-change"
 
+__git_ws_error_highlight_opts="context old new all default"
+
 # Options for the diff machinery (diff, log, show, stash, range-diff, ...)
 __git_diff_common_options="--stat --numstat --shortstat --summary
 			--patch-with-stat --name-only --name-status --color
@@ -1790,6 +1792,10 @@ _git_diff ()
 		__gitcomp "$__git_color_moved_ws_opts" "" "${cur##--color-moved-ws=}"
 		return
 		;;
+	--ws-error-highlight=*)
+		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
+		return
+		;;
 	--*)
 		__gitcomp "$__git_diff_difftool_options"
 		return
@@ -2080,6 +2086,10 @@ _git_log ()
 		__gitcomp "$__git_diff_submodule_formats" "" "${cur##--submodule=}"
 		return
 		;;
+	--ws-error-highlight=*)
+		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
+		return
+		;;
 	--no-walk=*)
 		__gitcomp "sorted unsorted" "" "${cur##--no-walk=}"
 		return
@@ -3000,6 +3010,10 @@ _git_show ()
 		__gitcomp "$__git_color_moved_ws_opts" "" "${cur##--color-moved-ws=}"
 		return
 		;;
+	--ws-error-highlight=*)
+		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
+		return
+		;;
 	--*)
 		__gitcomp "--pretty= --format= --abbrev-commit --no-abbrev-commit
 			--oneline --show-signature
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 21/24] completion: move --pickaxe-{all,regex} to __git_diff_common_options
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (19 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 20/24] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` 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
                       ` (2 subsequent siblings)
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

The options --pickaxe-all and --pickaxe-regex are listed in
__git_diff_difftool_options and repeated in _git_log. Move them to
__git_diff_common_options instead, which makes them available
automatically in the completion of other commands referencing this
variable.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 9de33ed05da..5b8e7b810c8 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -1763,10 +1763,12 @@ __git_diff_common_options="--stat --numstat --shortstat --summary
 			--irreversible-delete --line-prefix --no-stat
 			--output= --output-indicator-context=
 			--output-indicator-new= --output-indicator-old=
+			--ws-error-highlight=
+			--pickaxe-all --pickaxe-regex
 "
 
 # Options for diff/difftool
-__git_diff_difftool_options="--cached --staged --pickaxe-all --pickaxe-regex
+__git_diff_difftool_options="--cached --staged
 			--base --ours --theirs --no-index --merge-base
 			--ita-invisible-in-index --ita-visible-in-index
 			$__git_diff_common_options"
@@ -2115,7 +2117,6 @@ _git_log ()
 			--expand-tabs --expand-tabs= --no-expand-tabs
 			$merge
 			$__git_diff_common_options
-			--pickaxe-all --pickaxe-regex
 			"
 		return
 		;;
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 22/24] completion: complete --diff-merges, its options and --no-diff-merges
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (20 preceding siblings ...)
  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     ` 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
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

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,
and use it in _git_log and _git_show.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 5b8e7b810c8..8688f7c433c 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2040,6 +2040,12 @@ __git_log_shortlog_options="
 	--author= --committer= --grep=
 	--all-match --invert-grep
 "
+# Options accepted by log and show
+__git_log_show_options="
+	--diff-merges --diff-merges= --no-diff-merges
+"
+
+__git_diff_merges_opts="off none on first-parent 1 separate m combined c dense-combined cc remerge r"
 
 __git_log_pretty_formats="oneline short medium full fuller reference email raw format: tformat: mboxrd"
 __git_log_date_formats="relative iso8601 iso8601-strict rfc2822 short local default human raw unix auto: format:"
@@ -2096,11 +2102,16 @@ _git_log ()
 		__gitcomp "sorted unsorted" "" "${cur##--no-walk=}"
 		return
 		;;
+	--diff-merges=*)
+                __gitcomp "$__git_diff_merges_opts" "" "${cur##--diff-merges=}"
+                return
+                ;;
 	--*)
 		__gitcomp "
 			$__git_log_common_options
 			$__git_log_shortlog_options
 			$__git_log_gitk_options
+			$__git_log_show_options
 			--root --topo-order --date-order --reverse
 			--follow --full-diff
 			--abbrev-commit --no-abbrev-commit --abbrev=
@@ -3015,10 +3026,15 @@ _git_show ()
 		__gitcomp "$__git_ws_error_highlight_opts" "" "${cur##--ws-error-highlight=}"
 		return
 		;;
+	--diff-merges=*)
+                __gitcomp "$__git_diff_merges_opts" "" "${cur##--diff-merges=}"
+                return
+                ;;
 	--*)
 		__gitcomp "--pretty= --format= --abbrev-commit --no-abbrev-commit
 			--oneline --show-signature
 			--expand-tabs --expand-tabs= --no-expand-tabs
+			$__git_log_show_options
 			$__git_diff_common_options
 			"
 		return
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 23/24] completion: complete --remerge-diff
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (21 preceding siblings ...)
  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     ` 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
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

--remerge-diff only makes sense for 'git log' and 'git show', so add it
to __git_log_show_options which is referenced in the completion for
these two commands.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 contrib/completion/git-completion.bash | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 8688f7c433c..11f2edf47be 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -2042,7 +2042,7 @@ __git_log_shortlog_options="
 "
 # Options accepted by log and show
 __git_log_show_options="
-	--diff-merges --diff-merges= --no-diff-merges
+	--diff-merges --diff-merges= --no-diff-merges --remerge-diff
 "
 
 __git_diff_merges_opts="off none on first-parent 1 separate m combined c dense-combined cc remerge r"
-- 
gitgitgadget


^ permalink raw reply related	[flat|nested] 83+ messages in thread

* [PATCH v3 24/24] diff.c: mention completion above add_diff_options
  2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
                       ` (22 preceding siblings ...)
  2023-06-26 16:24     ` [PATCH v3 23/24] completion: complete --remerge-diff Philippe Blain via GitGitGadget
@ 2023-06-26 16:24     ` Philippe Blain via GitGitGadget
  23 siblings, 0 replies; 83+ messages in thread
From: Philippe Blain via GitGitGadget @ 2023-06-26 16:24 UTC (permalink / raw
  To: git; +Cc: Eric Sunshine, Philippe Blain, Philippe Blain

From: Philippe Blain <levraiphilippeblain@gmail.com>

Add a comment on top of add_diff_options, where common diff options are
listed, mentioning __git_diff_common_options in the completion script,
in the hope that contributors update it when they add new diff flags.

Signed-off-by: Philippe Blain <levraiphilippeblain@gmail.com>
---
 diff.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/diff.c b/diff.c
index 3c88c37908d..64c93c0f0e2 100644
--- a/diff.c
+++ b/diff.c
@@ -5491,6 +5491,10 @@ static int diff_opt_rotate_to(const struct option *opt, const char *arg, int uns
 	return 0;
 }
 
+/*
+ * Consider adding new flags to __git_diff_common_options
+ * in contrib/completion/git-completion.bash
+ */
 struct option *add_diff_options(const struct option *opts,
 				struct diff_options *options)
 {
-- 
gitgitgadget

^ permalink raw reply related	[flat|nested] 83+ messages in thread

end of thread, other threads:[~2023-06-26 16:26 UTC | newest]

Thread overview: 83+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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 ` [PATCH v2 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).