Allow cherry-picking root commits
[git/spearce.git] / t / t0004-unwritable.sh
blob9255c63c08f06399525ca098d0374ad7d197e0b7
1 #!/bin/sh
3 test_description='detect unwritable repository and fail correctly'
5 . ./test-lib.sh
7 test_expect_success setup '
9 >file &&
10 git add file &&
11 git commit -m initial &&
12 echo >file &&
13 git add file
17 test_expect_success 'write-tree should notice unwritable repository' '
20 chmod a-w .git/objects
21 test_must_fail git write-tree
23 status=$?
24 chmod 775 .git/objects
25 (exit $status)
29 test_expect_success 'commit should notice unwritable repository' '
32 chmod a-w .git/objects
33 test_must_fail git commit -m second
35 status=$?
36 chmod 775 .git/objects
37 (exit $status)
41 test_expect_success 'update-index should notice unwritable repository' '
44 echo a >file &&
45 chmod a-w .git/objects
46 test_must_fail git update-index file
48 status=$?
49 chmod 775 .git/objects
50 (exit $status)
54 test_expect_success 'add should notice unwritable repository' '
57 echo b >file &&
58 chmod a-w .git/objects
59 test_must_fail git add file
61 status=$?
62 chmod 775 .git/objects
63 (exit $status)
67 test_done