Merge branch 'rr/needs-clean-work-tree'
[gitweb.git] / t / t3903-stash.sh
index e8a7338862b472a1eeb0a54313e897fcd209741e..6fd560ccf10db5d016a4f1dde9e5eacca70e6f5b 100755 (executable)
@@ -157,7 +157,7 @@ EOF
 
 test_expect_success 'stash branch' '
        echo foo > file &&
-       git commit file -m first
+       git commit file -m first &&
        echo bar > file &&
        echo bar2 > file2 &&
        git add file2 &&
@@ -255,7 +255,7 @@ test_expect_success 'stash rm and ignore' '
        echo file >.gitignore &&
        git stash save "rm and ignore" &&
        test bar = "$(cat file)" &&
-       test file = "$(cat .gitignore)"
+       test file = "$(cat .gitignore)" &&
        git stash apply &&
        ! test -r file &&
        test file = "$(cat .gitignore)"
@@ -268,7 +268,7 @@ test_expect_success 'stash rm and ignore (stage .gitignore)' '
        git add .gitignore &&
        git stash save "rm and ignore (stage .gitignore)" &&
        test bar = "$(cat file)" &&
-       ! test -r .gitignore
+       ! test -r .gitignore &&
        git stash apply &&
        ! test -r file &&
        test file = "$(cat .gitignore)"
@@ -406,7 +406,7 @@ test_expect_success 'stash branch - stashes on stack, stash-like argument' '
        test $(git ls-files --modified | wc -l) -eq 1
 '
 
-test_expect_failure 'stash show - stashes on stack, stash-like argument' '
+test_expect_success 'stash show - stashes on stack, stash-like argument' '
        git stash clear &&
        test_when_finished "git reset --hard HEAD" &&
        git reset --hard &&
@@ -424,7 +424,7 @@ test_expect_failure 'stash show - stashes on stack, stash-like argument' '
        test_cmp expected actual
 '
 
-test_expect_failure 'stash show -p - stashes on stack, stash-like argument' '
+test_expect_success 'stash show -p - stashes on stack, stash-like argument' '
        git stash clear &&
        test_when_finished "git reset --hard HEAD" &&
        git reset --hard &&
@@ -447,7 +447,7 @@ test_expect_failure 'stash show -p - stashes on stack, stash-like argument' '
        test_cmp expected actual
 '
 
-test_expect_failure 'stash show - no stashes on stack, stash-like argument' '
+test_expect_success 'stash show - no stashes on stack, stash-like argument' '
        git stash clear &&
        test_when_finished "git reset --hard HEAD" &&
        git reset --hard &&
@@ -462,7 +462,7 @@ test_expect_failure 'stash show - no stashes on stack, stash-like argument' '
        test_cmp expected actual
 '
 
-test_expect_failure 'stash show -p - no stashes on stack, stash-like argument' '
+test_expect_success 'stash show -p - no stashes on stack, stash-like argument' '
        git stash clear &&
        test_when_finished "git reset --hard HEAD" &&
        git reset --hard &&
@@ -545,4 +545,15 @@ test_expect_success 'invalid ref of the form stash@{n}, n >= N' '
        git stash drop
 '
 
+test_expect_success '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