git@vger.kernel.org mailing list mirror (one of many)
 help / color / mirror / code / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: "Ville Skyttä" <ville.skytta@iki.fi>
Cc: git@vger.kernel.org
Subject: Re: [PATCH] completion: fix completing stashes with "show -p"
Date: Thu, 21 May 2020 11:24:32 -0700	[thread overview]
Message-ID: <xmqqo8qhrvrz.fsf@gitster.c.googlers.com> (raw)
In-Reply-To: <20200521142156.4717-1-ville.skytta@iki.fi> ("Ville Skyttä"'s message of "Thu, 21 May 2020 17:21:56 +0300")

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

  reply	other threads:[~2020-05-21 18:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-21 14:21 [PATCH] completion: fix completing stashes with "show -p" Ville Skyttä
2020-05-21 18:24 ` Junio C Hamano [this message]
2020-05-21 18:31   ` Ville Skyttä

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: http://vger.kernel.org/majordomo-info.html

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqo8qhrvrz.fsf@gitster.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=ville.skytta@iki.fi \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://80x24.org/mirrors/git.git

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 read-only IMAP folder(s) and NNTP newsgroup(s).