diff options
author | Jon Seymour <jon.seymour@gmail.com> | 2010-09-28 23:19:52 +1000 |
---|---|---|
committer | Junio C Hamano <gitster@pobox.com> | 2010-09-29 10:07:09 -0700 |
commit | 57693d03db93959831c9c017953f979aae6cc8eb (patch) | |
tree | 4caeb362b25864e84d90cea84028ecf743cb6974 | |
parent | 835d6a1f9f6f0f6e47cf32238af7ee8b8d048d78 (diff) | |
download | git-57693d03db93959831c9c017953f979aae6cc8eb.tar.gz git-57693d03db93959831c9c017953f979aae6cc8eb.tar.xz |
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-x | git-stash.sh | 6 | ||||
-rwxr-xr-x | t/t3903-stash.sh | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/git-stash.sh b/git-stash.sh index 57f36ce8d..02113263e 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 4215cc698..903a122ef 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 && |