[PATCH v5 6/6] stash: allow pathspecs in the no verb form
- From
Thomas Gummerer <t.gummerer@gmail.com>
- Date
- Feb 17, 2017, 22:41 UTC
- Message-ID
- <20170217224141.19183-7-t.gummerer@gmail.com>
- In-Reply-To
- <20170217224141.19183-1-t.gummerer@gmail.com>
Now that stash_push is used in the no verb form of stash, allow specifying the command line for this form as well. Always use -- to disambiguate pathspecs from other non-option arguments.
Also make git stash -p an alias for git stash push -p. This allows users to use git stash -p <pathspec>.
Signed-off-by: Thomas Gummerer <t.gummerer@gmail.com> --- git-stash.sh | 3 +++ t/t3903-stash.sh | 15 +++++++++++++++ 2 files changed, 18 insertions(+)
diff --git a/git-stash.sh b/git-stash.sh index 2a33614cb7..1446fbe2e8 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -667,12 +667,15 @@ apply_to_branch () { } } +test "$1" = "-p" && set "push" "$@" + PARSE_CACHE='--not-parsed' # The default command is "push" if nothing but options are given seen_non_option= for opt do case "$opt" in + --) break ;; -*) ;; *) seen_non_option=t; break ;; esac diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh index 7f90a247b4..c0ae41e724 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -872,4 +872,19 @@ test_expect_success 'untracked files are left in place when -u is not given' ' test_path_is_file untracked ' +test_expect_success 'stash without verb with pathspec' ' + >"foo bar" && + >foo && + >bar && + git add foo* && + git stash -- "foo b*" && + test_path_is_missing "foo bar" && + test_path_is_file foo && + test_path_is_file bar && + git stash pop && + test_path_is_file "foo bar" && + test_path_is_file foo && + test_path_is_file bar +' + test_done
-- 2.11.0.301.g27b9849079.dirty