From: Jon Seymour Date: Tue, 28 Sep 2010 13:19:51 GMT Subject: [PATCH 1/2] stash drops the stash even if creating the branch fails because it already exists Message-ID: <1285679992-7638-2-git-send-email-jon.seymour@gmail.com> In-Reply-To: <1285673120-43354-1-git-send-email-tom@dbservice.com> From: Tomas Carnecky This bug was disovered by someone on IRC when he tried to 'git stash branch ' while already existed. In that case the stash is dropped even though it isn't applied on any branch, so the stash is effectively lost. I think that shouldn't happen, so here is a test. --- t/t3903-stash.sh | 11 +++++++++++ 1 files changed, 11 insertions(+), 0 deletions(-) diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh index 9ed2396..0f6b2e4 100755 --- a/t/t3903-stash.sh +++ b/t/t3903-stash.sh @@ -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 -- 1.7.3.4.g787b.dirty