34
(cd sub && git reset --hard) &&
35
echo "changed" >sub/foo &&
36
git status >output &&
37
- grep "modified: sub (new commits, modified content)" output
37
+ grep "modified: sub (modified content)" output
38
'
39
40
test_expect_success 'status with modified file in submodule (porcelain)' '
49
test_expect_success 'status with added file in submodule' '
50
(cd sub && git reset --hard && echo >foo && git add foo) &&
51
git status >output &&
52
- grep "modified: sub (new commits, modified content)" output
52
+ grep "modified: sub (modified content)" output
53
'
54
55
test_expect_success 'status with added file in submodule (porcelain)' '
64
(cd sub && git reset --hard) &&
65
echo "content" >sub/new-file &&
66
git status >output &&
67
- grep "modified: sub (new commits, untracked content)" output
67
+ grep "modified: sub (untracked content)" output
68
'
69
70
test_expect_success 'status with untracked file in submodule (porcelain)' '
74
EOF
75
'
76
77
+test_expect_success 'status with added and untracked file in submodule' '
78
+ (cd sub && git reset --hard && echo >foo && git add foo) &&
79
+ echo "content" >sub/new-file &&
80
+ git status >output &&
81
+ grep "modified: sub (modified content, untracked content)" output
82
+'
83
+
84
+test_expect_success 'status with added and untracked file in submodule (porcelain)' '
85
+ (cd sub && git reset --hard && echo >foo && git add foo) &&
86
+ echo "content" >sub/new-file &&
87
+ git status --porcelain >output &&
88
+ diff output - <<-\EOF
89
+ M sub
90
+ EOF
91
+'
92
+
93
+test_expect_success 'status with modified file in modified submodule' '
94
+ (cd sub && git reset --hard) &&
95
+ rm sub/new-file &&
96
+ (cd sub && echo "next change" >foo && git commit -m "next change" foo) &&
97
+ echo "changed" >sub/foo &&
98
+ git status >output &&
99
+ grep "modified: sub (new commits, modified content)" output
100
+'
101
+
102
+test_expect_success 'status with modified file in modified submodule (porcelain)' '
103
+ (cd sub && git reset --hard) &&
104
+ echo "changed" >sub/foo &&
105
+ git status --porcelain >output &&
106
+ diff output - <<-\EOF
107
+ M sub
108
+ EOF
109
+'
110
+
111
+test_expect_success 'status with added file in modified submodule' '
112
+ (cd sub && git reset --hard && echo >foo && git add foo) &&
113
+ git status >output &&
114
+ grep "modified: sub (new commits, modified content)" output
115
+'
116
+
117
+test_expect_success 'status with added file in modified submodule (porcelain)' '
118
+ (cd sub && git reset --hard && echo >foo && git add foo) &&
119
+ git status --porcelain >output &&
120
+ diff output - <<-\EOF
121
+ M sub
122
+ EOF
123
+'
124
+
125
+test_expect_success 'status with untracked file in modified submodule' '
126
+ (cd sub && git reset --hard) &&
127
+ echo "content" >sub/new-file &&
128
+ git status >output &&
129
+ grep "modified: sub (new commits, untracked content)" output
130
+'
131
+
132
+test_expect_success 'status with untracked file in modified submodule (porcelain)' '
133
+ git status --porcelain >output &&
134
+ diff output - <<-\EOF
135
+ M sub
136
+ EOF
137
+'
138
+
139
+test_expect_success 'status with added and untracked file in modified submodule' '
140
+ (cd sub && git reset --hard && echo >foo && git add foo) &&
141
+ echo "content" >sub/new-file &&
142
+ git status >output &&
143
+ grep "modified: sub (new commits, modified content, untracked content)" output
144
+'
145
+
146
+test_expect_success 'status with added and untracked file in modified submodule (porcelain)' '
147
+ (cd sub && git reset --hard && echo >foo && git add foo) &&
148
+ echo "content" >sub/new-file &&
149
+ git status --porcelain >output &&
150
+ diff output - <<-\EOF
151
+ M sub
152
+ EOF
153
+'
154
+
155
test_expect_success 'rm submodule contents' '
156
rm -rf sub/* sub/.git
157
'