diff options
-rwxr-xr-x | git-stash.sh | 2 | ||||
-rwxr-xr-x | t/t3904-stash-patch.sh | 8 |
2 files changed, 9 insertions, 1 deletions
diff --git a/git-stash.sh b/git-stash.sh index ba86d84321..13711764a9 100755 --- a/git-stash.sh +++ b/git-stash.sh @@ -322,7 +322,7 @@ push_stash () { if test "$keep_index" != "t" then - git reset -q + git reset -q -- "$@" fi fi } diff --git a/t/t3904-stash-patch.sh b/t/t3904-stash-patch.sh index 38e730090f..83744f8c93 100755 --- a/t/t3904-stash-patch.sh +++ b/t/t3904-stash-patch.sh @@ -77,6 +77,14 @@ test_expect_success 'git stash --no-keep-index -p' ' verify_state dir/foo work index ' +test_expect_success 'stash -p --no-keep-index -- <pathspec> does not unstage other files' ' + set_state HEAD HEADfile_work HEADfile_index && + set_state dir/foo work index && + echo y | git stash push -p --no-keep-index -- HEAD && + verify_state HEAD committed committed && + verify_state dir/foo work index +' + test_expect_success 'none of this moved HEAD' ' verify_saved_head ' |