Git Mailing List Archive mirror
 help / color / mirror / Atom feed
From: "Philippe Blain via GitGitGadget" <gitgitgadget@gmail.com>
To: git@vger.kernel.org
Cc: Eric Sunshine <sunshine@sunshineco.com>,
	Philippe Blain <levraiphilippeblain@gmail.com>,
	Philippe Blain <levraiphilippeblain@gmail.com>
Subject: [PATCH v2 23/25] completion: complete --diff-merges, its options and --no-diff-merges
Date: Mon, 12 Jun 2023 12:52:51 +0000	[thread overview]
Message-ID: <808e7db20cf92991ac4c61355bd4b22bcdeefd3f.1686574374.git.gitgitgadget@gmail.com> (raw)
In-Reply-To: <pull.1543.v2.git.1686574374.gitgitgadget@gmail.com>

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


  parent reply	other threads:[~2023-06-12 12:54 UTC|newest]

Thread overview: 83+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-10 20:20 [PATCH 00/25] completion: add missing diff options Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 01/25] completion: add comments describing __git_diff_* globals Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 02/25] completion: complete --break-rewrites Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 03/25] completion: complete --cc Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 04/25] completion: complete --combined-all-paths Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 05/25] completion: complete --compact-summary Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 06/25] completion: complete --default-prefix Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 07/25] completion: complete --find-copies Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 08/25] completion: complete --find-object Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 09/25] completion: complete --find-renames Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 10/25] completion: complete --function-context Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 11/25] completion: complete --ignore-matching-lines Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 12/25] completion: complete --irreversible-delete Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 13/25] completion: complete --ita-invisible-in-index and --ita-visible-in-index Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 14/25] completion: complete --line-prefix Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 15/25] completion: complete --no-relative Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 16/25] completion: complete --no-stat Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 17/25] completion: complete --output Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 18/25] completion: complete --output-indicator-{context,new,old} Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 19/25] completion: complete --patch-with-raw Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 20/25] completion: complete --unified Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 21/25] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
2023-06-12 12:49   ` Philippe Blain
2023-06-10 20:21 ` [PATCH 22/25] completion: move --pickaxe-{all,regex} to __git_diff_common_options Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 23/25] completion: complete --diff-merges, its options and --no-diff-merges Philippe Blain via GitGitGadget
2023-06-11  2:35   ` Eric Sunshine
2023-06-11 14:56     ` Philippe Blain
2023-06-10 20:21 ` [PATCH 24/25] completion: complete --remerge-diff Philippe Blain via GitGitGadget
2023-06-10 20:21 ` [PATCH 25/25] diff.c: mention completion above add_diff_options Philippe Blain via GitGitGadget
2023-06-11  2:36   ` Eric Sunshine
2023-06-12 12:52 ` [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   ` Philippe Blain via GitGitGadget [this message]
2023-06-12 12:52   ` [PATCH v2 24/25] completion: complete --remerge-diff Philippe Blain via GitGitGadget
2023-06-12 12:52   ` [PATCH v2 25/25] diff.c: mention completion above add_diff_options Philippe Blain via GitGitGadget
2023-06-26 16:24   ` [PATCH v3 00/24] completion: add missing diff options Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 01/24] completion: add comments describing __git_diff_* globals Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 02/24] completion: complete --break-rewrites Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 03/24] completion: complete --cc Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 04/24] completion: complete --combined-all-paths Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 05/24] completion: complete --compact-summary Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 06/24] completion: complete --default-prefix Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 07/24] completion: complete --find-copies Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 08/24] completion: complete --find-object Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 09/24] completion: complete --find-renames Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 10/24] completion: complete --function-context Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 11/24] completion: complete --ignore-matching-lines Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 12/24] completion: complete --irreversible-delete Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 13/24] completion: complete --ita-invisible-in-index and --ita-visible-in-index Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 14/24] completion: complete --line-prefix Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 15/24] completion: complete --no-relative Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 16/24] completion: complete --no-stat Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 17/24] completion: complete --output Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 18/24] completion: complete --output-indicator-{context,new,old} Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 19/24] completion: complete --unified Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 20/24] completion: complete --ws-error-highlight Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 21/24] completion: move --pickaxe-{all,regex} to __git_diff_common_options Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 22/24] completion: complete --diff-merges, its options and --no-diff-merges Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 23/24] completion: complete --remerge-diff Philippe Blain via GitGitGadget
2023-06-26 16:24     ` [PATCH v3 24/24] diff.c: mention completion above add_diff_options Philippe Blain via GitGitGadget

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=808e7db20cf92991ac4c61355bd4b22bcdeefd3f.1686574374.git.gitgitgadget@gmail.com \
    --to=gitgitgadget@gmail.com \
    --cc=git@vger.kernel.org \
    --cc=levraiphilippeblain@gmail.com \
    --cc=sunshine@sunshineco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).