stash: add a test for when apply fails during stash branch

If the return value of merge recursive is not checked, the stash could end
up being dropped even though it was not applied properly

Signed-off-by: Joel Teichroeb <joel@teichroeb.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
maint
Joel Teichroeb 2017-08-19 13:13:25 -07:00 committed by Junio C Hamano
parent c95bc226d4
commit b04e6915fa
1 changed files with 14 additions and 0 deletions

View File

@ -656,6 +656,20 @@ test_expect_success 'stash branch should not drop the stash if the branch exists
git rev-parse stash@{0} -- git rev-parse stash@{0} --
' '


test_expect_success 'stash branch should not drop the stash if the apply fails' '
git stash clear &&
git reset HEAD~1 --hard &&
echo foo >file &&
git add file &&
git commit -m initial &&
echo bar >file &&
git stash &&
echo baz >file &&
test_when_finished "git checkout master" &&
test_must_fail git stash branch new_branch stash@{0} &&
git rev-parse stash@{0} --
'

test_expect_success 'stash apply shows status same as git status (relative to current directory)' ' test_expect_success 'stash apply shows status same as git status (relative to current directory)' '
git stash clear && git stash clear &&
echo 1 >subdir/subfile1 && echo 1 >subdir/subfile1 &&