Subject: Re: [PATCH] Add completion for short options

From: Junio C Hamano <[email-masked]>
Date: Tue, 25 Nov 2025 08:42:27 -0800

"Wiktor Mis via GitGitGadget" <[email-masked]> writes:

As the large part of the completion script is about completing git
subcommands and options to these subcommands, it seems that nobody
noticed the lack of completion for options of "git" itself.

> Subject: Re: [PATCH] Add completion for short options

This title makes it appear much broader than what the patch does,
which is to complete "git -<TAB>" with short options for the "git"
potty.

    Subjct: [PATCH] completion: complete "git -<TAB>" with short options

perhaps.

> From: Wiktor Mis <[email-masked]>
>
> Git provided completion for long options but not the short ones

Complete the sentence with something like

    ... not the short ones for "git" itself.

> Signed-off-by: Wiktor Mis <[email-masked]>
> ---
>     Add completion for short options
>
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-git-2100%2FWiktorro%2Fpatch-3-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-git-2100/Wiktorro/patch-3-v1
> Pull-Request: https://github.com/git/git/pull/2100
>
>  contrib/completion/git-completion.bash | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index 73abea31b4..3f1d6c0955 100644
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -3916,6 +3916,16 @@ __git_main ()
>  			--help
>  			"
>  			;;
> +		-*)
> +			__gitcomp "
> +			-C
> +			-P
> +			-c
> +			-h
> +			-p
> +			-v
> +			"
> +			;;

When you type

    $ git -<TAB>

the current completion without this patch does nothing.  The above
change makes it instead show the listed six.

Which is a good enough incremental update, I guess.

I however wonder if a separate follow-up change to let

    $ git -<TAB>

to show completion for both short and long options make the world
even a better place.  With the current completion, even with this
patch, you need to type double-dash-and-TAB to ask for list of long
options.

Thanks, will queue.