@@ -118,28 +118,28 @@ test_expect_success 'use "submodule foreach" to checkout 2nd level submodule' '
118
118
git clone super clone2 &&
119
119
(
120
120
cd clone2 &&
121
- test ! -d sub1/.git &&
122
- test ! -d sub2/.git &&
123
- test ! -d sub3/.git &&
124
- test ! -d nested1/.git &&
121
+ test_must_fail git rev-parse --resolve-git-dir sub1/.git &&
122
+ test_must_fail git rev-parse --resolve-git-dir sub2/.git &&
123
+ test_must_fail git rev-parse --resolve-git-dir sub3/.git &&
124
+ test_must_fail git rev-parse --resolve-git-dir nested1/.git &&
125
125
git submodule update --init &&
126
- test -d sub1/.git &&
127
- test -d sub2/.git &&
128
- test -d sub3/.git &&
129
- test -d nested1/.git &&
130
- test ! -d nested1/nested2/.git &&
126
+ git rev-parse --resolve-git-dir sub1/.git &&
127
+ git rev-parse --resolve-git-dir sub2/.git &&
128
+ git rev-parse --resolve-git-dir sub3/.git &&
129
+ git rev-parse --resolve-git-dir nested1/.git &&
130
+ test_must_fail git rev-parse --resolve-git-dir nested1/nested2/.git &&
131
131
git submodule foreach "git submodule update --init" &&
132
- test -d nested1/nested2/.git &&
133
- test ! -d nested1/nested2/nested3/.git
132
+ git rev-parse --resolve-git-dir nested1/nested1/ nested2/.git
133
+ test_must_fail git rev-parse --resolve-git-dir nested1/nested2/nested3/.git
134
134
)
135
135
'
136
136
137
137
test_expect_success ' use "foreach --recursive" to checkout all submodules' '
138
138
(
139
139
cd clone2 &&
140
140
git submodule foreach --recursive "git submodule update --init" &&
141
- test -d nested1/nested2/nested3/.git &&
142
- test -d nested1/nested2/nested3/submodule/.git
141
+ git rev-parse --resolve-git-dir nested1/nested2/nested3/.git &&
142
+ git rev-parse --resolve-git-dir nested1/nested2/nested3/submodule/.git
143
143
)
144
144
'
145
145
@@ -183,18 +183,18 @@ test_expect_success 'use "update --recursive" to checkout all submodules' '
183
183
git clone super clone3 &&
184
184
(
185
185
cd clone3 &&
186
- test ! -d sub1/.git &&
187
- test ! -d sub2/.git &&
188
- test ! -d sub3/.git &&
189
- test ! -d nested1/.git &&
186
+ test_must_fail git rev-parse --resolve-git-dir sub1/.git &&
187
+ test_must_fail git rev-parse --resolve-git-dir sub2/.git &&
188
+ test_must_fail git rev-parse --resolve-git-dir sub3/.git &&
189
+ test_must_fail git rev-parse --resolve-git-dir nested1/.git &&
190
190
git submodule update --init --recursive &&
191
- test -d sub1/.git &&
192
- test -d sub2/.git &&
193
- test -d sub3/.git &&
194
- test -d nested1/.git &&
195
- test -d nested1/nested2/.git &&
196
- test -d nested1/nested2/nested3/.git &&
197
- test -d nested1/nested2/nested3/submodule/.git
191
+ git rev-parse --resolve-git-dir sub1/.git &&
192
+ git rev-parse --resolve-git-dir sub2/.git &&
193
+ git rev-parse --resolve-git-dir sub3/.git &&
194
+ git rev-parse --resolve-git-dir nested1/.git &&
195
+ git rev-parse --resolve-git-dir nested1/nested2/.git &&
196
+ git rev-parse --resolve-git-dir nested1/nested2/nested3/.git &&
197
+ git rev-parse --resolve-git-dir nested1/nested2/nested3/submodule/.git
198
198
)
199
199
'
200
200
@@ -247,48 +247,51 @@ test_expect_success 'ensure "status --cached --recursive" preserves the --cached
247
247
248
248
test_expect_success ' use "git clone --recursive" to checkout all submodules' '
249
249
git clone --recursive super clone4 &&
250
- test -d clone4/.git &&
251
- test -d clone4/sub1/.git &&
252
- test -d clone4/sub2/.git &&
253
- test -d clone4/sub3/.git &&
254
- test -d clone4/nested1/.git &&
255
- test -d clone4/nested1/nested2/.git &&
256
- test -d clone4/nested1/nested2/nested3/.git &&
257
- test -d clone4/nested1/nested2/nested3/submodule/.git
250
+ (
251
+ cd clone4 &&
252
+ git rev-parse --resolve-git-dir .git &&
253
+ git rev-parse --resolve-git-dir sub1/.git &&
254
+ git rev-parse --resolve-git-dir sub2/.git &&
255
+ git rev-parse --resolve-git-dir sub3/.git &&
256
+ git rev-parse --resolve-git-dir nested1/.git &&
257
+ git rev-parse --resolve-git-dir nested1/nested2/.git &&
258
+ git rev-parse --resolve-git-dir nested1/nested2/nested3/.git &&
259
+ git rev-parse --resolve-git-dir nested1/nested2/nested3/submodule/.git
260
+ )
258
261
'
259
262
260
263
test_expect_success ' test "update --recursive" with a flag with spaces' '
261
264
git clone super "common objects" &&
262
265
git clone super clone5 &&
263
266
(
264
267
cd clone5 &&
265
- test ! - d nested1/.git &&
268
+ test_must_fail git rev-parse --resolve-git-dir d nested1/.git &&
266
269
git submodule update --init --recursive --reference="$(dirname "$PWD")/common objects" &&
267
- test -d nested1/.git &&
268
- test -d nested1/nested2/.git &&
269
- test -d nested1/nested2/nested3/.git &&
270
- test -f nested1/ .git/objects/info/alternates &&
271
- test -f nested1/nested2/.git /objects/info/alternates &&
272
- test -f nested1/nested2/nested3/.git /objects/info/alternates
270
+ git rev-parse --resolve-git-dir nested1/.git &&
271
+ git rev-parse --resolve-git-dir nested1/nested2/.git &&
272
+ git rev-parse --resolve-git-dir nested1/nested2/nested3/.git &&
273
+ test -f .git/modules/nested1 /objects/info/alternates &&
274
+ test -f .git/modules/ nested1/modules/nested2 /objects/info/alternates &&
275
+ test -f .git/modules/ nested1/modules/ nested2/modules/nested3 /objects/info/alternates
273
276
)
274
277
'
275
278
276
279
test_expect_success ' use "update --recursive nested1" to checkout all submodules rooted in nested1' '
277
280
git clone super clone6 &&
278
281
(
279
282
cd clone6 &&
280
- test ! -d sub1/.git &&
281
- test ! -d sub2/.git &&
282
- test ! -d sub3/.git &&
283
- test ! -d nested1/.git &&
283
+ test_must_fail git rev-parse --resolve-git-dir sub1/.git &&
284
+ test_must_fail git rev-parse --resolve-git-dir sub2/.git &&
285
+ test_must_fail git rev-parse --resolve-git-dir sub3/.git &&
286
+ test_must_fail git rev-parse --resolve-git-dir nested1/.git &&
284
287
git submodule update --init --recursive -- nested1 &&
285
- test ! -d sub1/.git &&
286
- test ! -d sub2/.git &&
287
- test ! -d sub3/.git &&
288
- test -d nested1/.git &&
289
- test -d nested1/nested2/.git &&
290
- test -d nested1/nested2/nested3/.git &&
291
- test -d nested1/nested2/nested3/submodule/.git
288
+ test_must_fail git rev-parse --resolve-git-dir sub1/.git &&
289
+ test_must_fail git rev-parse --resolve-git-dir sub2/.git &&
290
+ test_must_fail git rev-parse --resolve-git-dir sub3/.git &&
291
+ git rev-parse --resolve-git-dir nested1/.git &&
292
+ git rev-parse --resolve-git-dir nested1/nested2/.git &&
293
+ git rev-parse --resolve-git-dir nested1/nested2/nested3/.git &&
294
+ git rev-parse --resolve-git-dir nested1/nested2/nested3/submodule/.git
292
295
)
293
296
'
294
297
0 commit comments