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. Signed-off-by: Thomas Gummerer <t.gummerer@xxxxxxxxx> --- git-stash.sh | 1 + t/t3903-stash.sh | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/git-stash.sh b/git-stash.sh index 769cee9fd8..a184b1e274 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -704,6 +704,7 @@ 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 d568799da9..22ac75377b 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -881,4 +881,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.g86e6ecc671.dirty