Merge branch 'maint-1.6.0' into maint
[git] / t / t2013-checkout-submodule.sh
1 #!/bin/sh
2
3 test_description='checkout can handle submodules'
4
5 . ./test-lib.sh
6
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
20 '
21
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
30 '
31
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
40 '
41
42 test_done