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. 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.3.gd2416 -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html