All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.