358
373
('a/c/d', 'd-id')], tree.basis_tree())
376
def test_move_directory_into_parent(self):
377
tree = self.make_branch_and_tree('.')
378
self.build_tree(['c/', 'c/b/', 'c/b/d/'])
379
tree.add(['c', 'c/b', 'c/b/d'],
380
['c-id', 'b-id', 'd-id'])
381
tree.commit('initial', rev_id='rev-1')
382
root_id = tree.get_root_id()
384
self.assertEqual([('c/b', 'b')],
385
tree.move(['c/b'], ''))
386
self.assertTreeLayout([('', root_id),
393
def test_move_directory_with_children_in_subdir(self):
394
tree = self.make_branch_and_tree('.')
395
self.build_tree(['a/', 'a/b', 'a/c/', 'd/'])
396
tree.add(['a', 'a/b', 'a/c', 'd'],
397
['a-id', 'b-id', 'c-id', 'd-id'])
398
tree.commit('initial', rev_id='rev-1')
399
root_id = tree.get_root_id()
402
tree.rename_one('a/b', 'a/c/b')
403
self.assertTreeLayout([('', root_id),
409
self.assertEqual([('a', 'd/a')],
410
tree.move(['a'], 'd'))
411
self.assertTreeLayout([('', root_id),
419
def test_move_directory_with_deleted_children(self):
420
tree = self.make_branch_and_tree('.')
421
self.build_tree(['a/', 'a/b', 'a/c', 'a/d', 'b/'])
422
tree.add(['a', 'b', 'a/b', 'a/c', 'a/d'],
423
['a-id', 'b-id', 'ab-id', 'ac-id', 'ad-id'])
424
tree.commit('initial', rev_id='rev-1')
425
root_id = tree.get_root_id()
427
tree.remove(['a/b', 'a/d'])
429
self.assertEqual([('a', 'b/a')],
430
tree.move(['a'], 'b'))
431
self.assertTreeLayout([('', root_id),
438
def test_move_directory_with_new_children(self):
439
tree = self.make_branch_and_tree('.')
440
self.build_tree(['a/', 'a/c', 'b/'])
441
tree.add(['a', 'b', 'a/c'], ['a-id', 'b-id', 'ac-id'])
442
tree.commit('initial', rev_id='rev-1')
443
root_id = tree.get_root_id()
445
self.build_tree(['a/b', 'a/d'])
446
tree.add(['a/b', 'a/d'], ['ab-id', 'ad-id'])
448
self.assertEqual([('a', 'b/a')],
449
tree.move(['a'], 'b'))
450
self.assertTreeLayout([('', root_id),
459
def test_move_directory_with_moved_children(self):
460
tree = self.make_branch_and_tree('.')
461
self.build_tree(['a/', 'a/b', 'a/c', 'd', 'e/'])
462
tree.add(['a', 'a/b', 'a/c', 'd', 'e'],
463
['a-id', 'b-id', 'c-id', 'd-id', 'e-id'])
464
tree.commit('initial', rev_id='rev-1')
465
root_id = tree.get_root_id()
467
self.assertEqual([('a/b', 'b')],
468
tree.move(['a/b'], ''))
469
self.assertTreeLayout([('', root_id),
476
self.assertEqual([('d', 'a/d')],
477
tree.move(['d'], 'a'))
478
self.assertTreeLayout([('', root_id),
485
self.assertEqual([('a', 'e/a')],
486
tree.move(['a'], 'e'))
487
self.assertTreeLayout([('', root_id),
496
def test_move_directory_with_renamed_child(self):
497
tree = self.make_branch_and_tree('.')
498
self.build_tree(['a/', 'a/b', 'a/c', 'd/'])
499
tree.add(['a', 'a/b', 'a/c', 'd'],
500
['a-id', 'b-id', 'c-id', 'd-id'])
501
tree.commit('initial', rev_id='rev-1')
502
root_id = tree.get_root_id()
504
tree.rename_one('a/b', 'a/d')
505
self.assertTreeLayout([('', root_id),
511
self.assertEqual([('a', 'd/a')],
512
tree.move(['a'], 'd'))
513
self.assertTreeLayout([('', root_id),
521
def test_move_directory_with_swapped_children(self):
522
tree = self.make_branch_and_tree('.')
523
self.build_tree(['a/', 'a/b', 'a/c', 'a/d', 'e/'])
524
tree.add(['a', 'a/b', 'a/c', 'a/d', 'e'],
525
['a-id', 'b-id', 'c-id', 'd-id', 'e-id'])
526
tree.commit('initial', rev_id='rev-1')
527
root_id = tree.get_root_id()
529
tree.rename_one('a/b', 'a/bb')
530
tree.rename_one('a/d', 'a/b')
531
tree.rename_one('a/bb', 'a/d')
532
self.assertTreeLayout([('', root_id),
539
self.assertEqual([('a', 'e/a')],
540
tree.move(['a'], 'e'))
541
self.assertTreeLayout([('', root_id),
361
550
def test_move_moved(self):
362
551
"""Moving a moved entry works as expected."""
363
552
tree = self.make_branch_and_tree('.')