421
421
def test_shelf_shelf_bogus_subcommand(self):
422
422
self.tree = self.make_branch_and_tree('.')
423
423
self.run_bzr('shelf', 'foo', retcode=3) # <- retcode == 3
425
def test_shelf_OOO_unshelve(self):
426
self.tree = self.make_branch_and_tree('.')
428
for i in range(1, 5):
429
self.__create_and_add_test_file(filename='test_file%d' % i)
431
# Modify the test files
432
for i in range(1, 5):
433
file('test_file%d' % i, 'w').write(self.MODIFIED)
436
for i in range(1, 5):
437
self.run_bzr('shelve', '--all', 'test_file%d' % i, retcode=0)
439
# Check shelving worked
440
for i in range(1, 5):
441
self.assertEqual(file('test_file%d' % i).read(), self.ORIGINAL)
443
# We should now have 00-03
444
for i in range(0, 4):
445
self.assertTrue(os.path.exists('.shelf/shelves/default/0%d' % i))
448
self.run_bzr('unshelve', '--all', '00', retcode=0)
449
self.assertEqual(file('test_file1').read(), self.MODIFIED)
452
list = self.capture('shelf ls', retcode=0).split('\n')
454
self.assertFalse(line.startswith(' 00'))
456
# Check we can reshelve once we've unshelved out of order, should be 04
457
self.assertFalse(os.path.exists('.shelf/shelves/default/04'))
458
self.run_bzr('shelve', '--all')
459
self.assertTrue(os.path.exists('.shelf/shelves/default/04'))
462
text = self.capture('shelf ls', retcode=0)
463
for line in text.split('\n'):
464
self.assertFalse(line.startswith(' 00'))
466
# We now have 01,02,03,04
468
self.run_bzr('unshelve', '--all', '02', retcode=0)
469
self.assertEqual(file('test_file3').read(), self.MODIFIED)
471
# Unshelve the default, this is the reshelved 00, hence modifies file 1
472
self.run_bzr('unshelve', '--all', retcode=0)
473
self.assertEqual(file('test_file1').read(), self.MODIFIED)