Message ID | 20200521142156.4717-1-ville.skytta@iki.fi (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | completion: fix completing stashes with "show -p" | expand |
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. > > 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
On Thu, 21 May 2020 at 21:24, Junio C Hamano <gitster@pobox.com> wrote: > > 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. Excellent guess and wording. Will copy verbatim and re-submit.
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
Regression in df70b190bdd2add42a906819f9d41dbf91cf0809 Signed-off-by: Ville Skyttä <ville.skytta@iki.fi> --- contrib/completion/git-completion.bash | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)