]>
Commit | Line | Data |
---|---|---|
86140d56 JL |
1 | #!/bin/sh |
2 | # | |
3 | # Copyright (c) 2009 Jens Lehmann, based on t7401 by Ping Yin | |
4 | # | |
5 | ||
6 | test_description='Support for verbose submodule differences in git diff | |
7 | ||
8 | This test tries to verify the sanity of the --submodule option of git diff. | |
9 | ' | |
10 | ||
11 | . ./test-lib.sh | |
12 | ||
13 | add_file () { | |
2934975f RR |
14 | ( |
15 | cd "$1" && | |
16 | shift && | |
17 | for name | |
18 | do | |
19 | echo "$name" >"$name" && | |
20 | git add "$name" && | |
21 | test_tick && | |
22 | git commit -m "Add $name" || exit | |
23 | done >/dev/null && | |
24 | git rev-parse --short --verify HEAD | |
25 | ) | |
86140d56 JL |
26 | } |
27 | commit_file () { | |
28 | test_tick && | |
29 | git commit "$@" -m "Commit $*" >/dev/null | |
30 | } | |
31 | ||
32 | test_create_repo sm1 && | |
33 | add_file . foo >/dev/null | |
34 | ||
35 | head1=$(add_file sm1 foo1 foo2) | |
20fa5385 | 36 | fullhead1=$(cd sm1; git rev-parse --verify HEAD) |
86140d56 JL |
37 | |
38 | test_expect_success 'added submodule' " | |
39 | git add sm1 && | |
40 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 41 | cat >expected <<-EOF && |
86140d56 JL |
42 | Submodule sm1 0000000...$head1 (new submodule) |
43 | EOF | |
f8d186bb | 44 | test_cmp expected actual |
86140d56 JL |
45 | " |
46 | ||
c47ef57c RR |
47 | test_expect_success 'added submodule, set diff.submodule' " |
48 | git config diff.submodule log && | |
49 | git add sm1 && | |
50 | git diff --cached >actual && | |
51 | cat >expected <<-EOF && | |
52 | Submodule sm1 0000000...$head1 (new submodule) | |
53 | EOF | |
54 | git config --unset diff.submodule && | |
55 | test_cmp expected actual | |
56 | " | |
57 | ||
58 | test_expect_success '--submodule=short overrides diff.submodule' " | |
59 | test_config diff.submodule log && | |
60 | git add sm1 && | |
61 | git diff --submodule=short --cached >actual && | |
62 | cat >expected <<-EOF && | |
63 | diff --git a/sm1 b/sm1 | |
64 | new file mode 160000 | |
3b13af9d | 65 | index 0000000..$head1 |
c47ef57c RR |
66 | --- /dev/null |
67 | +++ b/sm1 | |
68 | @@ -0,0 +1 @@ | |
69 | +Subproject commit $fullhead1 | |
70 | EOF | |
71 | test_cmp expected actual | |
72 | " | |
73 | ||
d9c552f1 JK |
74 | test_expect_success 'diff.submodule does not affect plumbing' ' |
75 | test_config diff.submodule log && | |
76 | git diff-index -p HEAD >actual && | |
77 | cat >expected <<-EOF && | |
78 | diff --git a/sm1 b/sm1 | |
79 | new file mode 160000 | |
3b13af9d | 80 | index 0000000..$head1 |
d9c552f1 JK |
81 | --- /dev/null |
82 | +++ b/sm1 | |
83 | @@ -0,0 +1 @@ | |
84 | +Subproject commit $fullhead1 | |
85 | EOF | |
86 | test_cmp expected actual | |
87 | ' | |
88 | ||
86140d56 JL |
89 | commit_file sm1 && |
90 | head2=$(add_file sm1 foo3) | |
91 | ||
92 | test_expect_success 'modified submodule(forward)' " | |
93 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 94 | cat >expected <<-EOF && |
86140d56 JL |
95 | Submodule sm1 $head1..$head2: |
96 | > Add foo3 | |
97 | EOF | |
f8d186bb | 98 | test_cmp expected actual |
86140d56 JL |
99 | " |
100 | ||
101 | test_expect_success 'modified submodule(forward)' " | |
102 | git diff --submodule=log >actual && | |
f8d186bb | 103 | cat >expected <<-EOF && |
86140d56 JL |
104 | Submodule sm1 $head1..$head2: |
105 | > Add foo3 | |
106 | EOF | |
f8d186bb | 107 | test_cmp expected actual |
86140d56 JL |
108 | " |
109 | ||
110 | test_expect_success 'modified submodule(forward) --submodule' " | |
111 | git diff --submodule >actual && | |
f8d186bb | 112 | cat >expected <<-EOF && |
86140d56 JL |
113 | Submodule sm1 $head1..$head2: |
114 | > Add foo3 | |
115 | EOF | |
f8d186bb | 116 | test_cmp expected actual |
86140d56 JL |
117 | " |
118 | ||
86140d56 | 119 | test_expect_success 'modified submodule(forward) --submodule=short' " |
20fa5385 | 120 | fullhead2=$(cd sm1; git rev-parse --verify HEAD) |
86140d56 | 121 | git diff --submodule=short >actual && |
f8d186bb | 122 | cat >expected <<-EOF && |
86140d56 JL |
123 | diff --git a/sm1 b/sm1 |
124 | index $head1..$head2 160000 | |
125 | --- a/sm1 | |
126 | +++ b/sm1 | |
127 | @@ -1 +1 @@ | |
128 | -Subproject commit $fullhead1 | |
129 | +Subproject commit $fullhead2 | |
130 | EOF | |
f8d186bb | 131 | test_cmp expected actual |
86140d56 JL |
132 | " |
133 | ||
134 | commit_file sm1 && | |
18a82692 JN |
135 | head3=$( |
136 | cd sm1 && | |
137 | git reset --hard HEAD~2 >/dev/null && | |
20fa5385 | 138 | git rev-parse --short --verify HEAD |
fd4ec4f2 | 139 | ) |
86140d56 JL |
140 | |
141 | test_expect_success 'modified submodule(backward)' " | |
142 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 143 | cat >expected <<-EOF && |
86140d56 JL |
144 | Submodule sm1 $head2..$head3 (rewind): |
145 | < Add foo3 | |
146 | < Add foo2 | |
147 | EOF | |
f8d186bb | 148 | test_cmp expected actual |
86140d56 JL |
149 | " |
150 | ||
151 | head4=$(add_file sm1 foo4 foo5) && | |
152 | head4_full=$(GIT_DIR=sm1/.git git rev-parse --verify HEAD) | |
153 | test_expect_success 'modified submodule(backward and forward)' " | |
154 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 155 | cat >expected <<-EOF && |
86140d56 JL |
156 | Submodule sm1 $head2...$head4: |
157 | > Add foo5 | |
158 | > Add foo4 | |
159 | < Add foo3 | |
160 | < Add foo2 | |
161 | EOF | |
f8d186bb | 162 | test_cmp expected actual |
86140d56 JL |
163 | " |
164 | ||
165 | commit_file sm1 && | |
166 | mv sm1 sm1-bak && | |
167 | echo sm1 >sm1 && | |
168 | head5=$(git hash-object sm1 | cut -c1-7) && | |
169 | git add sm1 && | |
170 | rm -f sm1 && | |
171 | mv sm1-bak sm1 | |
172 | ||
173 | test_expect_success 'typechanged submodule(submodule->blob), --cached' " | |
174 | git diff --submodule=log --cached >actual && | |
f8d186bb | 175 | cat >expected <<-EOF && |
3b13af9d | 176 | Submodule sm1 $head4...0000000 (submodule deleted) |
86140d56 JL |
177 | diff --git a/sm1 b/sm1 |
178 | new file mode 100644 | |
3b13af9d | 179 | index 0000000..$head5 |
86140d56 JL |
180 | --- /dev/null |
181 | +++ b/sm1 | |
182 | @@ -0,0 +1 @@ | |
183 | +sm1 | |
184 | EOF | |
f8d186bb | 185 | test_cmp expected actual |
86140d56 JL |
186 | " |
187 | ||
188 | test_expect_success 'typechanged submodule(submodule->blob)' " | |
189 | git diff --submodule=log >actual && | |
f8d186bb | 190 | cat >expected <<-EOF && |
86140d56 JL |
191 | diff --git a/sm1 b/sm1 |
192 | deleted file mode 100644 | |
3b13af9d | 193 | index $head5..0000000 |
86140d56 JL |
194 | --- a/sm1 |
195 | +++ /dev/null | |
196 | @@ -1 +0,0 @@ | |
197 | -sm1 | |
198 | Submodule sm1 0000000...$head4 (new submodule) | |
199 | EOF | |
f8d186bb | 200 | test_cmp expected actual |
86140d56 JL |
201 | " |
202 | ||
203 | rm -rf sm1 && | |
204 | git checkout-index sm1 | |
205 | test_expect_success 'typechanged submodule(submodule->blob)' " | |
206 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 207 | cat >expected <<-EOF && |
86140d56 JL |
208 | Submodule sm1 $head4...0000000 (submodule deleted) |
209 | diff --git a/sm1 b/sm1 | |
210 | new file mode 100644 | |
211 | index 0000000..$head5 | |
212 | --- /dev/null | |
213 | +++ b/sm1 | |
214 | @@ -0,0 +1 @@ | |
215 | +sm1 | |
216 | EOF | |
f8d186bb | 217 | test_cmp expected actual |
86140d56 JL |
218 | " |
219 | ||
220 | rm -f sm1 && | |
221 | test_create_repo sm1 && | |
222 | head6=$(add_file sm1 foo6 foo7) | |
86140d56 | 223 | test_expect_success 'nonexistent commit' " |
20fa5385 | 224 | fullhead6=$(cd sm1; git rev-parse --verify HEAD) |
86140d56 | 225 | git diff-index -p --submodule=log HEAD >actual && |
f8d186bb | 226 | cat >expected <<-EOF && |
86140d56 JL |
227 | Submodule sm1 $head4...$head6 (commits not present) |
228 | EOF | |
f8d186bb | 229 | test_cmp expected actual |
86140d56 JL |
230 | " |
231 | ||
232 | commit_file | |
233 | test_expect_success 'typechanged submodule(blob->submodule)' " | |
234 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 235 | cat >expected <<-EOF && |
86140d56 JL |
236 | diff --git a/sm1 b/sm1 |
237 | deleted file mode 100644 | |
238 | index $head5..0000000 | |
239 | --- a/sm1 | |
240 | +++ /dev/null | |
241 | @@ -1 +0,0 @@ | |
242 | -sm1 | |
243 | Submodule sm1 0000000...$head6 (new submodule) | |
244 | EOF | |
f8d186bb | 245 | test_cmp expected actual |
86140d56 JL |
246 | " |
247 | ||
248 | commit_file sm1 && | |
721ceec1 JL |
249 | test_expect_success 'submodule is up to date' " |
250 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 251 | cat >expected <<-EOF && |
721ceec1 | 252 | EOF |
f8d186bb | 253 | test_cmp expected actual |
721ceec1 JL |
254 | " |
255 | ||
256 | test_expect_success 'submodule contains untracked content' " | |
257 | echo new > sm1/new-file && | |
258 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 259 | cat >expected <<-EOF && |
c7e1a736 | 260 | Submodule sm1 contains untracked content |
721ceec1 | 261 | EOF |
f8d186bb | 262 | test_cmp expected actual |
721ceec1 JL |
263 | " |
264 | ||
dd44d419 JL |
265 | test_expect_success 'submodule contains untracked content (untracked ignored)' " |
266 | git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual && | |
6ed7ddaa | 267 | ! test -s actual |
dd44d419 JL |
268 | " |
269 | ||
270 | test_expect_success 'submodule contains untracked content (dirty ignored)' " | |
271 | git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual && | |
6ed7ddaa | 272 | ! test -s actual |
dd44d419 JL |
273 | " |
274 | ||
275 | test_expect_success 'submodule contains untracked content (all ignored)' " | |
276 | git diff-index -p --ignore-submodules=all --submodule=log HEAD >actual && | |
6ed7ddaa | 277 | ! test -s actual |
dd44d419 JL |
278 | " |
279 | ||
721ceec1 JL |
280 | test_expect_success 'submodule contains untracked and modifed content' " |
281 | echo new > sm1/foo6 && | |
282 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 283 | cat >expected <<-EOF && |
c7e1a736 JL |
284 | Submodule sm1 contains untracked content |
285 | Submodule sm1 contains modified content | |
721ceec1 | 286 | EOF |
f8d186bb | 287 | test_cmp expected actual |
721ceec1 JL |
288 | " |
289 | ||
dd44d419 JL |
290 | test_expect_success 'submodule contains untracked and modifed content (untracked ignored)' " |
291 | echo new > sm1/foo6 && | |
292 | git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual && | |
f8d186bb | 293 | cat >expected <<-EOF && |
dd44d419 JL |
294 | Submodule sm1 contains modified content |
295 | EOF | |
f8d186bb | 296 | test_cmp expected actual |
dd44d419 JL |
297 | " |
298 | ||
299 | test_expect_success 'submodule contains untracked and modifed content (dirty ignored)' " | |
300 | echo new > sm1/foo6 && | |
301 | git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual && | |
6ed7ddaa | 302 | ! test -s actual |
dd44d419 JL |
303 | " |
304 | ||
305 | test_expect_success 'submodule contains untracked and modifed content (all ignored)' " | |
306 | echo new > sm1/foo6 && | |
307 | git diff-index -p --ignore-submodules --submodule=log HEAD >actual && | |
6ed7ddaa | 308 | ! test -s actual |
dd44d419 JL |
309 | " |
310 | ||
721ceec1 JL |
311 | test_expect_success 'submodule contains modifed content' " |
312 | rm -f sm1/new-file && | |
313 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 314 | cat >expected <<-EOF && |
c7e1a736 | 315 | Submodule sm1 contains modified content |
721ceec1 | 316 | EOF |
f8d186bb | 317 | test_cmp expected actual |
721ceec1 JL |
318 | " |
319 | ||
320 | (cd sm1; git commit -mchange foo6 >/dev/null) && | |
721ceec1 | 321 | test_expect_success 'submodule is modified' " |
20fa5385 | 322 | head8=$(cd sm1; git rev-parse --short --verify HEAD) && |
721ceec1 | 323 | git diff-index -p --submodule=log HEAD >actual && |
f8d186bb | 324 | cat >expected <<-EOF && |
721ceec1 JL |
325 | Submodule sm1 $head6..$head8: |
326 | > change | |
327 | EOF | |
f8d186bb | 328 | test_cmp expected actual |
721ceec1 JL |
329 | " |
330 | ||
331 | test_expect_success 'modified submodule contains untracked content' " | |
332 | echo new > sm1/new-file && | |
333 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 334 | cat >expected <<-EOF && |
c7e1a736 JL |
335 | Submodule sm1 contains untracked content |
336 | Submodule sm1 $head6..$head8: | |
721ceec1 JL |
337 | > change |
338 | EOF | |
f8d186bb | 339 | test_cmp expected actual |
721ceec1 JL |
340 | " |
341 | ||
dd44d419 JL |
342 | test_expect_success 'modified submodule contains untracked content (untracked ignored)' " |
343 | git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual && | |
f8d186bb | 344 | cat >expected <<-EOF && |
dd44d419 JL |
345 | Submodule sm1 $head6..$head8: |
346 | > change | |
347 | EOF | |
f8d186bb | 348 | test_cmp expected actual |
dd44d419 JL |
349 | " |
350 | ||
351 | test_expect_success 'modified submodule contains untracked content (dirty ignored)' " | |
352 | git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual && | |
f8d186bb | 353 | cat >expected <<-EOF && |
dd44d419 JL |
354 | Submodule sm1 $head6..$head8: |
355 | > change | |
356 | EOF | |
f8d186bb | 357 | test_cmp expected actual |
dd44d419 JL |
358 | " |
359 | ||
360 | test_expect_success 'modified submodule contains untracked content (all ignored)' " | |
361 | git diff-index -p --ignore-submodules=all --submodule=log HEAD >actual && | |
6ed7ddaa | 362 | ! test -s actual |
dd44d419 JL |
363 | " |
364 | ||
721ceec1 JL |
365 | test_expect_success 'modified submodule contains untracked and modifed content' " |
366 | echo modification >> sm1/foo6 && | |
367 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 368 | cat >expected <<-EOF && |
c7e1a736 JL |
369 | Submodule sm1 contains untracked content |
370 | Submodule sm1 contains modified content | |
371 | Submodule sm1 $head6..$head8: | |
721ceec1 JL |
372 | > change |
373 | EOF | |
f8d186bb | 374 | test_cmp expected actual |
721ceec1 JL |
375 | " |
376 | ||
dd44d419 JL |
377 | test_expect_success 'modified submodule contains untracked and modifed content (untracked ignored)' " |
378 | echo modification >> sm1/foo6 && | |
379 | git diff-index -p --ignore-submodules=untracked --submodule=log HEAD >actual && | |
f8d186bb | 380 | cat >expected <<-EOF && |
dd44d419 JL |
381 | Submodule sm1 contains modified content |
382 | Submodule sm1 $head6..$head8: | |
383 | > change | |
384 | EOF | |
f8d186bb | 385 | test_cmp expected actual |
dd44d419 JL |
386 | " |
387 | ||
388 | test_expect_success 'modified submodule contains untracked and modifed content (dirty ignored)' " | |
389 | echo modification >> sm1/foo6 && | |
390 | git diff-index -p --ignore-submodules=dirty --submodule=log HEAD >actual && | |
f8d186bb | 391 | cat >expected <<-EOF && |
dd44d419 JL |
392 | Submodule sm1 $head6..$head8: |
393 | > change | |
394 | EOF | |
f8d186bb | 395 | test_cmp expected actual |
dd44d419 JL |
396 | " |
397 | ||
398 | test_expect_success 'modified submodule contains untracked and modifed content (all ignored)' " | |
399 | echo modification >> sm1/foo6 && | |
400 | git diff-index -p --ignore-submodules --submodule=log HEAD >actual && | |
6ed7ddaa | 401 | ! test -s actual |
dd44d419 JL |
402 | " |
403 | ||
721ceec1 JL |
404 | test_expect_success 'modified submodule contains modifed content' " |
405 | rm -f sm1/new-file && | |
406 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 407 | cat >expected <<-EOF && |
c7e1a736 JL |
408 | Submodule sm1 contains modified content |
409 | Submodule sm1 $head6..$head8: | |
721ceec1 JL |
410 | > change |
411 | EOF | |
f8d186bb | 412 | test_cmp expected actual |
721ceec1 JL |
413 | " |
414 | ||
86140d56 JL |
415 | rm -rf sm1 |
416 | test_expect_success 'deleted submodule' " | |
417 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 418 | cat >expected <<-EOF && |
86140d56 JL |
419 | Submodule sm1 $head6...0000000 (submodule deleted) |
420 | EOF | |
f8d186bb | 421 | test_cmp expected actual |
86140d56 JL |
422 | " |
423 | ||
424 | test_create_repo sm2 && | |
425 | head7=$(add_file sm2 foo8 foo9) && | |
426 | git add sm2 | |
427 | ||
428 | test_expect_success 'multiple submodules' " | |
429 | git diff-index -p --submodule=log HEAD >actual && | |
f8d186bb | 430 | cat >expected <<-EOF && |
86140d56 JL |
431 | Submodule sm1 $head6...0000000 (submodule deleted) |
432 | Submodule sm2 0000000...$head7 (new submodule) | |
433 | EOF | |
f8d186bb | 434 | test_cmp expected actual |
86140d56 JL |
435 | " |
436 | ||
437 | test_expect_success 'path filter' " | |
438 | git diff-index -p --submodule=log HEAD sm2 >actual && | |
f8d186bb | 439 | cat >expected <<-EOF && |
86140d56 JL |
440 | Submodule sm2 0000000...$head7 (new submodule) |
441 | EOF | |
f8d186bb | 442 | test_cmp expected actual |
86140d56 JL |
443 | " |
444 | ||
445 | commit_file sm2 | |
446 | test_expect_success 'given commit' " | |
447 | git diff-index -p --submodule=log HEAD^ >actual && | |
f8d186bb | 448 | cat >expected <<-EOF && |
86140d56 JL |
449 | Submodule sm1 $head6...0000000 (submodule deleted) |
450 | Submodule sm2 0000000...$head7 (new submodule) | |
451 | EOF | |
f8d186bb | 452 | test_cmp expected actual |
86140d56 JL |
453 | " |
454 | ||
455 | test_expect_success 'given commit --submodule' " | |
456 | git diff-index -p --submodule HEAD^ >actual && | |
f8d186bb | 457 | cat >expected <<-EOF && |
86140d56 JL |
458 | Submodule sm1 $head6...0000000 (submodule deleted) |
459 | Submodule sm2 0000000...$head7 (new submodule) | |
460 | EOF | |
f8d186bb | 461 | test_cmp expected actual |
86140d56 JL |
462 | " |
463 | ||
20fa5385 | 464 | fullhead7=$(cd sm2; git rev-parse --verify HEAD) |
86140d56 JL |
465 | |
466 | test_expect_success 'given commit --submodule=short' " | |
467 | git diff-index -p --submodule=short HEAD^ >actual && | |
f8d186bb | 468 | cat >expected <<-EOF && |
86140d56 JL |
469 | diff --git a/sm1 b/sm1 |
470 | deleted file mode 160000 | |
471 | index $head6..0000000 | |
472 | --- a/sm1 | |
473 | +++ /dev/null | |
474 | @@ -1 +0,0 @@ | |
475 | -Subproject commit $fullhead6 | |
476 | diff --git a/sm2 b/sm2 | |
477 | new file mode 160000 | |
478 | index 0000000..$head7 | |
479 | --- /dev/null | |
480 | +++ b/sm2 | |
481 | @@ -0,0 +1 @@ | |
482 | +Subproject commit $fullhead7 | |
483 | EOF | |
f8d186bb | 484 | test_cmp expected actual |
86140d56 JL |
485 | " |
486 | ||
eee49b6c JL |
487 | test_expect_success 'setup .git file for sm2' ' |
488 | (cd sm2 && | |
489 | REAL="$(pwd)/../.real" && | |
490 | mv .git "$REAL" | |
491 | echo "gitdir: $REAL" >.git) | |
492 | ' | |
493 | ||
494 | test_expect_success 'diff --submodule with .git file' ' | |
495 | git diff --submodule HEAD^ >actual && | |
f8d186bb | 496 | cat >expected <<-EOF && |
eee49b6c JL |
497 | Submodule sm1 $head6...0000000 (submodule deleted) |
498 | Submodule sm2 0000000...$head7 (new submodule) | |
499 | EOF | |
f8d186bb | 500 | test_cmp expected actual |
eee49b6c JL |
501 | ' |
502 | ||
5e73633d HV |
503 | test_expect_success 'diff --submodule with objects referenced by alternates' ' |
504 | mkdir sub_alt && | |
505 | (cd sub_alt && | |
506 | git init && | |
507 | echo a >a && | |
508 | git add a && | |
509 | git commit -m a | |
510 | ) && | |
511 | mkdir super && | |
512 | (cd super && | |
513 | git clone -s ../sub_alt sub && | |
514 | git init && | |
515 | git add sub && | |
516 | git commit -m "sub a" | |
517 | ) && | |
518 | (cd sub_alt && | |
519 | sha1_before=$(git rev-parse --short HEAD) | |
520 | echo b >b && | |
521 | git add b && | |
522 | git commit -m b | |
523 | sha1_after=$(git rev-parse --short HEAD) | |
524 | echo "Submodule sub $sha1_before..$sha1_after: | |
525 | > b" >../expected | |
526 | ) && | |
527 | (cd super && | |
528 | (cd sub && | |
529 | git fetch && | |
530 | git checkout origin/master | |
531 | ) && | |
532 | git diff --submodule > ../actual | |
533 | ) | |
534 | test_cmp expected actual | |
535 | ' | |
536 | ||
86140d56 | 537 | test_done |