stash drops the stash even if creating the branch fails because it already exists

This bug was disovered by someone on IRC when he tried to

    $ git stash branch <branch> <stash>

while <branch> already existed. In that case the stash is dropped even
though it isn't applied on any branch, so the stash is effectively lost.

Signed-off-by: Tomas Carnecky <tom@dbservice.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Tomas Carnecky 2010-09-28 23:19:51 +10:00 committed by Junio C Hamano
parent 442cb08fa0
commit 835d6a1f9f

View File

@ -545,4 +545,15 @@ test_expect_success 'invalid ref of the form stash@{n}, n >= N' '
git stash drop
'
test_expect_failure 'stash branch should not drop the stash if the branch exists' '
git stash clear &&
echo foo >file &&
git add file &&
git commit -m initial &&
echo bar >file &&
git stash &&
test_must_fail git stash branch master stash@{0} &&
git rev-parse stash@{0} --
'
test_done