git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/7] completion bash: add more options and commands
@ 2017-02-03 11:01 cornelius.weig
  2017-02-03 11:01 ` [PATCH v2 1/7] completion: teach submodule subcommands to complete options cornelius.weig
                   ` (7 more replies)
  0 siblings, 8 replies; 15+ messages in thread
From: cornelius.weig @ 2017-02-03 11:01 UTC (permalink / raw)
  To: git; +Cc: szeder.dev, j6t, Cornelius Weig

From: Cornelius Weig <cornelius.weig@tngtech.com>

This is the re-roll of patch series <20170122225724.19360-1-cornelius.weig@tngtech.com>.

This patch series adds all long-options that are mentioned in the synopsis of
the man-page for the respective git-command. There are only a few exceptions,
as discussed in the above thread. For example, no unsafe options should be
completed.
Furthermore, the patches add subommand option completion for git-submodule and
git-remote.

Changes wrt first submission:

 - improve completion for git-remote set-head & set-branches
 - remove completion of unsafe options
 - improve commit messages
 - added sign-off :)
 - rebase to current master

Cornelius Weig (7):
  completion: teach submodule subcommands to complete options
  completion: add subcommand completion for rerere
  completion: improve bash completion for git-add
  completion: teach ls-remote to complete options
  completion: teach replace to complete options
  completion: teach remote subcommands to complete options
  completion: recognize more long-options

 contrib/completion/git-completion.bash | 139 ++++++++++++++++++++++++++++-----
 1 file changed, 118 insertions(+), 21 deletions(-)


Interdiff since first iteration:
diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
index 87d3d2c..3545f6a 100644
--- a/contrib/completion/git-completion.bash
+++ b/contrib/completion/git-completion.bash
@@ -936,7 +936,7 @@ _git_apply ()
 			--apply --no-add --exclude=
 			--ignore-whitespace --ignore-space-change
 			--whitespace= --inaccurate-eof --verbose
-			--recount --directory= --unsafe-paths
+			--recount --directory=
 			"
 		return
 	esac
@@ -1459,7 +1459,7 @@ _git_ls_remote ()
 {
 	case "$cur" in
 	--*)
-		__gitcomp "--heads --tags --refs --get-url"
+		__gitcomp "--heads --tags --refs --get-url --symref"
 		return
 		;;
 	esac
@@ -2415,9 +2415,18 @@ _git_remote ()
 		;;
 	add,*)
 		;;
+	set-head,--*)
+		__gitcomp "--auto --delete"
+		;;
+	set-branches,--*)
+		__gitcomp "--add"
+		;;
 	set-head,*|set-branches,*)
 		__git_complete_remote_or_refspec
 		;;
+	update,--*)
+		__gitcomp "--prune"
+		;;
 	update,*)
 		__gitcomp "$(__git_get_config_variables "remotes")"
 		;;
@@ -2494,7 +2503,7 @@ _git_rm ()
 {
 	case "$cur" in
 	--*)
-		__gitcomp "--cached --dry-run --ignore-unmatch --quiet --force"
+		__gitcomp "--cached --dry-run --ignore-unmatch --quiet"
 		return
 		;;
 	esac

-- 
2.10.2


^ permalink raw reply related	[flat|nested] 15+ messages in thread
* Re: [PATCH 7/7] completion: recognize more long-options
@ 2017-01-24  7:15 Johannes Sixt
  2017-01-27 21:17 ` [PATCH v2 0/7] " cornelius.weig
  0 siblings, 1 reply; 15+ messages in thread
From: Johannes Sixt @ 2017-01-24  7:15 UTC (permalink / raw)
  To: Cornelius Weig
  Cc: bitte.keine.werbung.einwerfen, git, thomas.braun, szeder, john

If at all possible, please use your real email address as the From 
address. It is pointless to hide behind a fake address because as Git 
contributor you will have to reveal your identity anyway.

Please study item (5) "Sign your work" in 
Documentation/SubmittingPatches and sign off your work.

I'm by no means a bash completion expert, but I have a comment on this 
patch.

Am 22.01.2017 um 23:57 schrieb bitte.keine.werbung.einwerfen@googlemail.com:
> Recognize several new long-options for bash completion in the following
> commands:

AFAIR, it was a deliberate decision that potentially destructive command 
line options are not included in command completions. In the list given, 
I find these:

>  - apply: --unsafe-paths
>  - reset: --merge --mixed --hard --soft --patch --keep
>  - rm: --force

Additionally, these options are only for internal purposes, but I may be 
wrong:

>  - archive: --remote= --exec=

-- Hannes


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

end of thread, other threads:[~2017-02-07  9:00 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-03 11:01 [PATCH v2 0/7] completion bash: add more options and commands cornelius.weig
2017-02-03 11:01 ` [PATCH v2 1/7] completion: teach submodule subcommands to complete options cornelius.weig
2017-02-03 11:01 ` [PATCH v2 2/7] completion: add subcommand completion for rerere cornelius.weig
2017-02-03 11:01 ` [PATCH v2 3/7] completion: improve bash completion for git-add cornelius.weig
2017-02-03 11:01 ` [PATCH v2 4/7] completion: teach ls-remote to complete options cornelius.weig
2017-02-03 11:01 ` [PATCH v2 5/7] completion: teach replace " cornelius.weig
2017-02-03 11:01 ` [PATCH v2 6/7] completion: teach remote subcommands " cornelius.weig
2017-02-03 11:01 ` [PATCH v2 7/7] completion: recognize more long-options cornelius.weig
2017-02-06 21:29 ` [PATCH v2 0/7] completion bash: add more options and commands Junio C Hamano
2017-02-07  9:00   ` Johannes Sixt
  -- strict thread matches above, loose matches on Subject: below --
2017-01-24  7:15 [PATCH 7/7] completion: recognize more long-options Johannes Sixt
2017-01-27 21:17 ` [PATCH v2 0/7] " cornelius.weig
2017-01-27 21:17   ` [PATCH v2 7/7] " cornelius.weig
2017-01-31 22:17     ` SZEDER Gábor
2017-02-01 16:49       ` Cornelius Weig
2017-02-02  2:00         ` SZEDER Gábor
2017-02-02 10:40           ` Cornelius Weig

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 NNTP newsgroup(s).