Re: [PATCH] completion: fix completing stashes with "show -p"
Ville Skyttä <ville.skytta@iki.fi> writes:
> Regression in df70b190bdd2add42a906819f9d41dbf91cf0809
That's not very helpful to readers.
Something like this? I am merely guessing why you thought this change is a good one, but that is what the proposed log message is supposed to do.
df70b190 (completion: make stash -p and alias for stash push -p,
2018-04-20) wanted to make sure "git stash -p <TAB>" offers the same
completion as "git stash push -p <TAB>", but it did so by forcing
the $subcommand to be "push" whenever then "-p" option is found on
the command line. This harms any subcommand that can take the "-p" option---even when
the subcommand is explicitly given, e.g. "git stash show -p", the
code added by the change would overwrite the $subcommand the user
gave us. Fix it by making sure that the defaulting to "push" happens only
when there is no $subcommand given yet.Thanks.
Show 19 quoted lines
>
> Signed-off-by: Ville Skyttä <ville.skytta@iki.fi>
> ---
> 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 70ad04e1b2..8dc4ad0e0d 100644
> --- a/contrib/completion/git-completion.bash
> +++ b/contrib/completion/git-completion.bash
> @@ -2782,7 +2782,7 @@ _git_stash ()
> local save_opts='--all --keep-index --no-keep-index --quiet --patch --include-untracked'
> local subcommands='push list show apply clear drop pop create branch'
> local subcommand="$(__git_find_on_cmdline "$subcommands save")"
> - if [ -n "$(__git_find_on_cmdline "-p")" ]; then
> + if [ -z "$subcommand" -a -n "$(__git_find_on_cmdline "-p")" ]; then
> subcommand="push"
> fi
> if [ -z "$subcommand" ]; then