Merge branch 'maint'
[git] / t / t4027-diff-submodule.sh
1 #!/bin/sh
2
3 test_description='difference in submodules'
4
5 . ./test-lib.sh
6 . "$TEST_DIRECTORY"/diff-lib.sh
7
8 _z40=0000000000000000000000000000000000000000
9 test_expect_success setup '
10         test_tick &&
11         test_create_repo sub &&
12         (
13                 cd sub &&
14                 echo hello >world &&
15                 git add world &&
16                 git commit -m submodule
17         ) &&
18
19         test_tick &&
20         echo frotz >nitfol &&
21         git add nitfol sub &&
22         git commit -m superproject &&
23
24         (
25                 cd sub &&
26                 echo goodbye >world &&
27                 git add world &&
28                 git commit -m "submodule #2"
29         ) &&
30
31         set x $(
32                 cd sub &&
33                 git rev-list HEAD
34         ) &&
35         echo ":160000 160000 $3 $_z40 M sub" >expect
36 '
37
38 test_expect_success 'git diff --raw HEAD' '
39         git diff --raw --abbrev=40 HEAD >actual &&
40         test_cmp expect actual
41 '
42
43 test_expect_success 'git diff-index --raw HEAD' '
44         git diff-index --raw HEAD >actual.index &&
45         test_cmp expect actual.index
46 '
47
48 test_expect_success 'git diff-files --raw' '
49         git diff-files --raw >actual.files &&
50         test_cmp expect actual.files
51 '
52
53 test_expect_success 'git diff (empty submodule dir)' '
54         : >empty &&
55         rm -rf sub/* sub/.git &&
56         git diff > actual.empty &&
57         test_cmp empty actual.empty
58 '
59
60 test_done