]> git.ipfire.org Git - thirdparty/git.git/blobdiff - t/t3903-stash.sh
Merge branch 'jt/commit-redundant-scissors-fix'
[thirdparty/git.git] / t / t3903-stash.sh
index 34faeac3f1cde42633fc5a8b8b67cbf14d57edaf..00db82fb2455b8397de6ae0e5ea8e4fd96ed3d6c 100755 (executable)
@@ -200,7 +200,7 @@ test_expect_success 'drop stash reflog updates refs/stash' '
        test_cmp expect actual
 '
 
-test_expect_success REFFILES 'drop stash reflog updates refs/stash with rewrite' '
+test_expect_success 'drop stash reflog updates refs/stash with rewrite' '
        git init repo &&
        (
                cd repo &&
@@ -213,16 +213,16 @@ test_expect_success REFFILES 'drop stash reflog updates refs/stash with rewrite'
        new_oid="$(git -C repo rev-parse stash@{0})" &&
 
        cat >expect <<-EOF &&
-       $(test_oid zero) $old_oid
-       $old_oid $new_oid
+       $new_oid
+       $old_oid
        EOF
-       cut -d" " -f1-2 repo/.git/logs/refs/stash >actual &&
+       git -C repo reflog show refs/stash --format=%H >actual &&
        test_cmp expect actual &&
 
        git -C repo stash drop stash@{1} &&
-       cut -d" " -f1-2 repo/.git/logs/refs/stash >actual &&
+       git -C repo reflog show refs/stash --format=%H >actual &&
        cat >expect <<-EOF &&
-       $(test_oid zero) $new_oid
+       $new_oid
        EOF
        test_cmp expect actual
 '
@@ -1516,4 +1516,56 @@ test_expect_success 'restore untracked files even when we hit conflicts' '
        )
 '
 
+test_expect_success 'stash create reports a locked index' '
+       test_when_finished "rm -rf repo" &&
+       git init repo &&
+       (
+               cd repo &&
+               test_commit A A.file &&
+               echo change >A.file &&
+               touch .git/index.lock &&
+
+               cat >expect <<-EOF &&
+               error: could not write index
+               EOF
+               test_must_fail git stash create 2>err &&
+               test_cmp expect err
+       )
+'
+
+test_expect_success 'stash push reports a locked index' '
+       test_when_finished "rm -rf repo" &&
+       git init repo &&
+       (
+               cd repo &&
+               test_commit A A.file &&
+               echo change >A.file &&
+               touch .git/index.lock &&
+
+               cat >expect <<-EOF &&
+               error: could not write index
+               EOF
+               test_must_fail git stash push 2>err &&
+               test_cmp expect err
+       )
+'
+
+test_expect_success 'stash apply reports a locked index' '
+       test_when_finished "rm -rf repo" &&
+       git init repo &&
+       (
+               cd repo &&
+               test_commit A A.file &&
+               echo change >A.file &&
+               git stash push &&
+               touch .git/index.lock &&
+
+               cat >expect <<-EOF &&
+               error: could not write index
+               EOF
+               test_must_fail git stash apply 2>err &&
+               test_cmp expect err
+       )
+'
+
 test_done