summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJon Seymour <jon.seymour@gmail.com>2010-09-28 13:19:52 (GMT)
committerJunio C Hamano <gitster@pobox.com>2010-09-29 17:07:09 (GMT)
commit57693d03db93959831c9c017953f979aae6cc8eb (patch)
tree4caeb362b25864e84d90cea84028ecf743cb6974
parent835d6a1f9f6f0f6e47cf32238af7ee8b8d048d78 (diff)
downloadgit-57693d03db93959831c9c017953f979aae6cc8eb.zip
git-57693d03db93959831c9c017953f979aae6cc8eb.tar.gz
git-57693d03db93959831c9c017953f979aae6cc8eb.tar.bz2
stash: fix git stash branch regression when branch creation fails
"git stash branch <branch> <stash>" started discarding the stash when the branch creation fails. It should have kept the stash intact when aborting. Signed-off-by: Jon Seymour <jon.seymour@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
-rwxr-xr-xgit-stash.sh6
-rwxr-xr-xt/t3903-stash.sh2
2 files changed, 4 insertions, 4 deletions
diff --git a/git-stash.sh b/git-stash.sh
index 57f36ce..0211326 100755
--- a/git-stash.sh
+++ b/git-stash.sh
@@ -446,9 +446,9 @@ apply_to_branch () {
assert_stash_like "$@"
git checkout -b $branch $REV^ &&
- apply_stash "$@"
-
- test -z "$IS_STASH_REF" || drop_stash "$@"
+ apply_stash "$@" && {
+ test -z "$IS_STASH_REF" || drop_stash "$@"
+ }
}
PARSE_CACHE='--not-parsed'
diff --git a/t/t3903-stash.sh b/t/t3903-stash.sh
index 4215cc6..903a122 100755
--- a/t/t3903-stash.sh
+++ b/t/t3903-stash.sh
@@ -545,7 +545,7 @@ 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' '
+test_expect_success 'stash branch should not drop the stash if the branch exists' '
git stash clear &&
echo foo >file &&
git add file &&