191
191
s_trans_id = creator.shelf_transform.trans_id_file_id('foo-id')
192
192
self.assertEqual('foo-id',
193
193
creator.shelf_transform.final_file_id(s_trans_id))
194
self.assertPathDoesNotExist('foo')
195
self.assertPathDoesNotExist('bar')
194
self.failIfExists('foo')
195
self.failIfExists('bar')
196
196
self.assertShelvedFileEqual('a\n', creator, 'foo-id')
197
197
s_bar_trans_id = creator.shelf_transform.trans_id_file_id('bar-id')
198
198
self.assertEqual('directory',
231
231
creator.shelve_creation('foo-id')
232
232
creator.transform()
233
233
s_trans_id = creator.shelf_transform.trans_id_file_id('foo-id')
234
self.assertPathDoesNotExist(link_name)
234
self.failIfExists(link_name)
235
235
limbo_name = creator.shelf_transform._limbo_name(s_trans_id)
236
236
self.assertEqual(link_target, osutils.readlink(limbo_name))
237
237
ptree = creator.shelf_transform.get_preview_tree()
310
310
s_trans_id = creator.shelf_transform.trans_id_file_id('foo-id')
311
311
self.assertEqual('foo-id',
312
312
creator.shelf_transform.final_file_id(s_trans_id))
313
self.assertPathDoesNotExist('foo')
313
self.failIfExists('foo')
315
315
def prepare_shelve_deletion(self):
316
316
tree = self.make_branch_and_tree('tree')
330
330
return creator, tree
332
332
def check_shelve_deletion(self, tree):
333
self.assertTrue(tree.has_id('foo-id'))
334
self.assertTrue(tree.has_id('bar-id'))
333
self.assertTrue('foo-id' in tree)
334
self.assertTrue('bar-id' in tree)
335
335
self.assertFileEqual('baz', 'tree/foo/bar')
337
337
def test_shelve_deletion(self):
362
362
sorted(list(creator.iter_shelvable())))
363
363
creator.shelve_deletion('foo-id')
364
364
creator.transform()
365
self.assertPathExists('tree/foo')
365
self.failUnlessExists('tree/foo')
367
367
def prepare_shelve_change_kind(self):
368
368
tree = self.make_branch_and_tree('tree')
421
421
sorted(list(creator.iter_shelvable())))
422
422
creator.shelve_deletion('foo-id')
423
423
creator.transform()
424
self.assertPathExists('tree/foo')
424
self.failUnlessExists('tree/foo')
426
426
def test_shelve_serialization(self):
427
427
tree = self.make_branch_and_tree('.')
568
568
list(creator.iter_shelvable())
569
569
creator.shelve_deletion('foo-id')
570
570
creator.shelve_deletion('bar-id')
571
with open('shelf', 'w+b') as shelf_file:
572
creator.write_shelf(shelf_file)
571
shelf_file = open('shelf', 'w+b')
572
self.addCleanup(shelf_file.close)
573
creator.write_shelf(shelf_file)
575
576
# validate the test setup
576
self.assertTrue(tree.has_id('foo-id'))
577
self.assertTrue(tree.has_id('bar-id'))
577
self.assertTrue('foo-id' in tree)
578
self.assertTrue('bar-id' in tree)
578
579
self.assertFileEqual('baz', 'tree/foo/bar')
579
with open('shelf', 'r+b') as shelf_file:
580
unshelver = shelf.Unshelver.from_tree_and_shelf(tree, shelf_file)
581
self.addCleanup(unshelver.finalize)
582
unshelver.make_merger().do_merge()
583
self.assertFalse(tree.has_id('foo-id'))
584
self.assertFalse(tree.has_id('bar-id'))
581
unshelver = shelf.Unshelver.from_tree_and_shelf(tree, shelf_file)
582
self.addCleanup(unshelver.finalize)
583
unshelver.make_merger().do_merge()
584
self.assertFalse('foo-id' in tree)
585
self.assertFalse('bar-id' in tree)
586
587
def test_unshelve_base(self):
587
588
tree = self.make_branch_and_tree('tree')
635
636
creator.shelve_change(change)
636
637
shelf_manager = tree.get_shelf_manager()
637
638
shelf_id = shelf_manager.shelve_changes(creator)
638
self.assertPathDoesNotExist('dir/subdir')
639
self.failIfExists('dir/subdir')
639
640
tree.remove(['dir'])
640
641
unshelver = shelf_manager.get_unshelver(shelf_id)
641
642
self.addCleanup(unshelver.finalize)
642
643
unshelver.make_merger().do_merge()
643
self.assertPathExists('dir/subdir/foo')
644
self.failUnlessExists('dir/subdir/foo')
644
645
self.assertEqual('dir-id', tree.path2id('dir'))
645
646
self.assertEqual('subdir-id', tree.path2id('dir/subdir'))
646
647
self.assertEqual('foo-id', tree.path2id('dir/subdir/foo'))
745
746
creator.shelve_creation('foo-id')
746
747
shelf_manager = tree.get_shelf_manager()
747
748
shelf_id = shelf_manager.shelve_changes(creator)
748
self.assertPathDoesNotExist('tree/foo')
749
self.failIfExists('tree/foo')
749
750
unshelver = shelf_manager.get_unshelver(shelf_id)
750
751
self.addCleanup(unshelver.finalize)
751
752
unshelver.make_merger().do_merge()