]>
Commit | Line | Data |
---|---|---|
bef38948 JS |
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 |