]> git.ipfire.org Git - thirdparty/git.git/commitdiff
completion: stop showing 'save' for stash by default
authorThomas Gummerer <t.gummerer@gmail.com>
Thu, 19 Apr 2018 23:25:13 +0000 (00:25 +0100)
committerJunio C Hamano <gitster@pobox.com>
Fri, 20 Apr 2018 01:39:48 +0000 (10:39 +0900)
The 'save' subcommand in git stash has been deprecated in
fd2ebf14db ("stash: mark "git stash save" deprecated in the man page",
2017-10-22).

Stop showing it when the users enters 'git stash <tab>' or 'git stash
s<tab>'.  Keep showing it however when the user enters 'git stash sa<tab>'
or any more characters of the 'save' subcommand.  This is designed to
not encourage users to use 'git stash save', but still leaving the
completion option once it's clear that's what the user means.

Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
contrib/completion/git-completion.bash

index a7570739454ac793430b7f0edb8ba229f3ff50d8..9a95b3b7b1599448e81b03e93205a773995f9382 100644 (file)
@@ -2774,13 +2774,18 @@ _git_show_branch ()
 _git_stash ()
 {
        local save_opts='--all --keep-index --no-keep-index --quiet --patch --include-untracked'
-       local subcommands='push save list show apply clear drop pop create branch'
-       local subcommand="$(__git_find_on_cmdline "$subcommands")"
+       local subcommands='push list show apply clear drop pop create branch'
+       local subcommand="$(__git_find_on_cmdline "$subcommands save")"
        if [ -z "$subcommand" ]; then
                case "$cur" in
                --*)
                        __gitcomp "$save_opts"
                        ;;
+               sa*)
+                       if [ -z "$(__git_find_on_cmdline "$save_opts")" ]; then
+                               __gitcomp "save"
+                       fi
+                       ;;
                *)
                        if [ -z "$(__git_find_on_cmdline "$save_opts")" ]; then
                                __gitcomp "$subcommands"