diff --git a/Documentation/git-stash.adoc b/Documentation/git-stash.adoc index d6e8c4144c..6bf510702b 100644 --- a/Documentation/git-stash.adoc +++ b/Documentation/git-stash.adoc @@ -18,8 +18,6 @@ git stash [push] [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | - [-u | --include-untracked] [-a | --all] [(-m | --message) ] [--pathspec-from-file= [--pathspec-file-nul]] [--] [...] -git stash save [-p | --patch] [-S | --staged] [-k | --[no-]keep-index] [-q | --quiet] - [-u | --include-untracked] [-a | --all] [] git stash clear git stash create [] git stash store [(-m | --message) ] [-q | --quiet] diff --git a/builtin/stash.c b/builtin/stash.c index c87bfc4acd..7b1f945c7c 100644 --- a/builtin/stash.c +++ b/builtin/stash.c @@ -74,7 +74,6 @@ static const char * const git_stash_usage[] = { BUILTIN_STASH_APPLY_USAGE, BUILTIN_STASH_BRANCH_USAGE, BUILTIN_STASH_PUSH_USAGE, - BUILTIN_STASH_SAVE_USAGE, BUILTIN_STASH_CLEAR_USAGE, BUILTIN_STASH_CREATE_USAGE, BUILTIN_STASH_STORE_USAGE, diff --git a/contrib/completion/git-completion.bash b/contrib/completion/git-completion.bash index c3a49e2e22..9cd9c7cadb 100644 --- a/contrib/completion/git-completion.bash +++ b/contrib/completion/git-completion.bash @@ -3553,17 +3553,18 @@ _git_sparse_checkout () _git_stash () { - local subcommands='push list show apply clear drop pop create branch import export' - local subcommand="$(__git_find_on_cmdline "$subcommands save")" + local subcommands subcommand + + __git_resolve_builtins stash + + subcommands="$___git_resolved_builtins" + subcommand="$(__git_find_on_cmdline "$subcommands")" if [ -z "$subcommand" ]; then case "$((cword - __git_cmd_idx)),$cur" in *,--*) __gitcomp_builtin stash_push ;; - 1,sa*) - __gitcomp "save" - ;; 1,*) __gitcomp "$subcommands" ;; @@ -3589,20 +3590,23 @@ _git_stash () if [ $cword -eq $((__git_cmd_idx+2)) ]; then __git_complete_refs else - __gitcomp_nl "$(__git stash list \ - | sed -n -e 's/:.*//p')" + __git_complete_stashes fi ;; import,*) __git_complete_refs ;; show,*|apply,*|drop,*|pop,*|export,*) - __gitcomp_nl "$(__git stash list \ - | sed -n -e 's/:.*//p')" + __git_complete_stashes ;; esac } +__git_complete_stashes () +{ + __gitcomp_nl "$(__git stash list | sed -n -e 's/:.*//p')" +} + _git_submodule () { __git_has_doubledash && return diff --git a/contrib/completion/git-completion.zsh b/contrib/completion/git-completion.zsh index d5c526665b..2aea7770d2 100644 --- a/contrib/completion/git-completion.zsh +++ b/contrib/completion/git-completion.zsh @@ -135,6 +135,11 @@ __gitcomp_file_direct () __gitcomp_file "$1" "" } +__git_complete_stashes () +{ + compadd -S ' ' -- ${(f)"$(__git stash list | sed -n -e 's/:.*//p')"} && _ret=0 +} + _git_zsh () { __gitcomp "v1.1"