Merge branch 'jc/maint-read-tree-multi'
[git/gitweb.git] / t / t2013-checkout-submodule.sh
blobfda3f0af7eb0fcaf7d0d61ff10a22e2dedaa416b
1 #!/bin/sh
3 test_description='checkout can handle submodules'
5 . ./test-lib.sh
7 test_expect_success 'setup' '
8 mkdir submodule &&
9 (cd submodule &&
10 git init &&
11 test_commit first) &&
12 git add submodule &&
13 test_tick &&
14 git commit -m superproject &&
15 (cd submodule &&
16 test_commit second) &&
17 git add submodule &&
18 test_tick &&
19 git commit -m updated.superproject
22 test_expect_success '"reset <submodule>" updates the index' '
23 git update-index --refresh &&
24 git diff-files --quiet &&
25 git diff-index --quiet --cached HEAD &&
26 test_must_fail git reset HEAD^ submodule &&
27 test_must_fail git diff-files --quiet &&
28 git reset submodule &&
29 git diff-files --quiet
32 test_expect_success '"checkout <submodule>" updates the index only' '
33 git update-index --refresh &&
34 git diff-files --quiet &&
35 git diff-index --quiet --cached HEAD &&
36 git checkout HEAD^ submodule &&
37 test_must_fail git diff-files --quiet &&
38 git checkout HEAD submodule &&
39 git diff-files --quiet
42 test_done