Subject: Re: [PATCH] completion: add stash import, export

From: Junio C Hamano <[email-masked]>
Date: Sat, 07 Feb 2026 17:33:29 -0800

"D. Ben Knoble" <[email-masked]> writes:

> These newer commands lack completion; implement basic support for
> options and arguments.
>
> Signed-off-by: D. Ben Knoble <[email-masked]>
> ---
> diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash
> index 538dff1ee5..a8e7c6ddbf 100644
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -3465,7 +3465,7 @@ _git_sparse_checkout ()
>  
>  _git_stash ()
>  {
> -	local subcommands='push list show apply clear drop pop create branch'
> +	local subcommands='push list show apply clear drop pop create branch import export'

Makes sense, but in the longer term, we should devise a way to make
this script and parse-options infrastructure cooperate so that we do
not have to update it, just like options are completed using the
special "git cmd --git-completion-helper" option.

In any case, will apply.  Thanks.

> @@ -3491,6 +3491,9 @@ _git_stash ()
>  	show,--*)
>  		__gitcomp_builtin stash_show "$__git_diff_common_options"
>  		;;
> +	export,--*)
> +		__gitcomp_builtin stash_export "--print --to-ref"
> +		;;
>  	*,--*)
>  		__gitcomp_builtin "stash_$subcommand"
>  		;;
> @@ -3502,7 +3505,10 @@ _git_stash ()
>  					| sed -n -e 's/:.*//p')"
>  		fi
>  		;;
> -	show,*|apply,*|drop,*|pop,*)
> +	import,*)
> +		__git_complete_refs
> +		;;
> +	show,*|apply,*|drop,*|pop,*|export,*)
>  		__gitcomp_nl "$(__git stash list \
>  				| sed -n -e 's/:.*//p')"
>  		;;
>
> base-commit: 2a3d6836805534f45cf545da7be25ce1c759c514