@@ -213,3 +213,189 @@ load 'common'
213
213
214
214
assert [ " $( grep -c ' ^M .* dir-a/file-a$' git-repo.fi) " -eq 1 ]
215
215
}
216
+
217
+ @test ' deleting last file from a directory should add empty .gitignore with empty-dirs-parameter' {
218
+ svn mkdir dir-a
219
+ touch dir-a/file-a
220
+ svn add dir-a/file-a
221
+ svn commit -m ' add dir-a/file-a'
222
+ svn rm dir-a/file-a
223
+ svn commit -m ' delete dir-a/file-a'
224
+
225
+ cd " $TEST_TEMP_DIR "
226
+ svn2git " $SVN_REPO " --empty-dirs --rules <( echo "
227
+ create repository git-repo
228
+ end repository
229
+
230
+ match /
231
+ repository git-repo
232
+ branch master
233
+ end match
234
+ " )
235
+
236
+ refute git -C git-repo show master:.gitignore
237
+ assert git -C git-repo show master:dir-a/.gitignore
238
+ assert_equal " $( git -C git-repo show master:dir-a/.gitignore) " ' '
239
+ }
240
+
241
+ @test ' deleting last file from a directory should add empty .gitignore with empty-dirs-parameter (nested)' {
242
+ svn mkdir project-a
243
+ cd project-a
244
+ svn mkdir dir-a
245
+ touch dir-a/file-a
246
+ svn add dir-a/file-a
247
+ svn commit -m ' add dir-a/file-a'
248
+ svn rm dir-a/file-a
249
+ svn commit -m ' delete dir-a/file-a'
250
+
251
+ cd " $TEST_TEMP_DIR "
252
+ svn2git " $SVN_REPO " --empty-dirs --rules <( echo "
253
+ create repository git-repo
254
+ end repository
255
+
256
+ match /project-a/
257
+ repository git-repo
258
+ branch master
259
+ end match
260
+ " )
261
+
262
+ refute git -C git-repo show master:.gitignore
263
+ assert git -C git-repo show master:dir-a/.gitignore
264
+ assert_equal " $( git -C git-repo show master:dir-a/.gitignore) " ' '
265
+ }
266
+
267
+ @test ' deleting last file from root should not add empty .gitignore with empty-dirs-parameter' {
268
+ touch file-a
269
+ svn add file-a
270
+ svn commit -m ' add file-a'
271
+ svn rm file-a
272
+ svn commit -m ' delete file-a'
273
+
274
+ cd " $TEST_TEMP_DIR "
275
+ svn2git " $SVN_REPO " --empty-dirs --rules <( echo "
276
+ create repository git-repo
277
+ end repository
278
+
279
+ match /
280
+ repository git-repo
281
+ branch master
282
+ end match
283
+ " )
284
+
285
+ refute git -C git-repo show master:.gitignore
286
+ refute git -C git-repo show master:file-a/.gitignore
287
+ }
288
+
289
+ @test ' deleting last file from root should not add empty .gitignore with empty-dirs-parameter (nested)' {
290
+ svn mkdir project-a
291
+ cd project-a
292
+ touch file-a
293
+ svn add file-a
294
+ svn commit -m ' add file-a'
295
+ svn rm file-a
296
+ svn commit -m ' delete file-a'
297
+
298
+ cd " $TEST_TEMP_DIR "
299
+ svn2git " $SVN_REPO " --empty-dirs --rules <( echo "
300
+ create repository git-repo
301
+ end repository
302
+
303
+ match /project-a/
304
+ repository git-repo
305
+ branch master
306
+ end match
307
+ " )
308
+
309
+ refute git -C git-repo show master:.gitignore
310
+ refute git -C git-repo show master:file-a/.gitignore
311
+ }
312
+
313
+ @test ' deleting last directory from a directory should add empty .gitignore with empty-dirs-parameter' {
314
+ svn mkdir --parents dir-a/subdir-a
315
+ svn commit -m ' add dir-a/subdir-a'
316
+ svn rm dir-a/subdir-a
317
+ svn commit -m ' delete dir-a/subdir-a'
318
+
319
+ cd " $TEST_TEMP_DIR "
320
+ svn2git " $SVN_REPO " --empty-dirs --rules <( echo "
321
+ create repository git-repo
322
+ end repository
323
+
324
+ match /
325
+ repository git-repo
326
+ branch master
327
+ end match
328
+ " )
329
+
330
+ refute git -C git-repo show master:.gitignore
331
+ assert git -C git-repo show master:dir-a/.gitignore
332
+ assert_equal " $( git -C git-repo show master:dir-a/.gitignore) " ' '
333
+ }
334
+
335
+ @test ' deleting last directory from a directory should add empty .gitignore with empty-dirs-parameter (nested)' {
336
+ svn mkdir project-a
337
+ cd project-a
338
+ svn mkdir --parents dir-a/subdir-a
339
+ svn commit -m ' add dir-a/subdir-a'
340
+ svn rm dir-a/subdir-a
341
+ svn commit -m ' delete dir-a/subdir-a'
342
+
343
+ cd " $TEST_TEMP_DIR "
344
+ svn2git " $SVN_REPO " --empty-dirs --rules <( echo "
345
+ create repository git-repo
346
+ end repository
347
+
348
+ match /project-a/
349
+ repository git-repo
350
+ branch master
351
+ end match
352
+ " )
353
+
354
+ refute git -C git-repo show master:.gitignore
355
+ assert git -C git-repo show master:dir-a/.gitignore
356
+ assert_equal " $( git -C git-repo show master:dir-a/.gitignore) " ' '
357
+ }
358
+
359
+ @test ' deleting last directory from root should not add empty .gitignore with empty-dirs-parameter' {
360
+ svn mkdir dir-a
361
+ svn commit -m ' add dir-a'
362
+ svn rm dir-a
363
+ svn commit -m ' delete dir-a'
364
+
365
+ cd " $TEST_TEMP_DIR "
366
+ svn2git " $SVN_REPO " --empty-dirs --rules <( echo "
367
+ create repository git-repo
368
+ end repository
369
+
370
+ match /
371
+ repository git-repo
372
+ branch master
373
+ end match
374
+ " )
375
+
376
+ refute git -C git-repo show master:.gitignore
377
+ refute git -C git-repo show master:dir-a/.gitignore
378
+ }
379
+
380
+ @test ' deleting last directory from root should not add empty .gitignore with empty-dirs-parameter (nested)' {
381
+ svn mkdir project-a
382
+ cd project-a
383
+ svn mkdir dir-a
384
+ svn commit -m ' add dir-a'
385
+ svn rm dir-a
386
+ svn commit -m ' delete dir-a'
387
+
388
+ cd " $TEST_TEMP_DIR "
389
+ svn2git " $SVN_REPO " --empty-dirs --rules <( echo "
390
+ create repository git-repo
391
+ end repository
392
+
393
+ match /project-a/
394
+ repository git-repo
395
+ branch master
396
+ end match
397
+ " )
398
+
399
+ refute git -C git-repo show master:.gitignore
400
+ refute git -C git-repo show master:dir-a/.gitignore
401
+ }
0 commit comments