/brz/remove-bazaar

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/brz/remove-bazaar

« back to all changes in this revision

Viewing changes to breezy/tests/test_shelf.py

  • Committer: Gustav Hartvigsson
  • Date: 2021-01-09 21:36:27 UTC
  • Revision ID: gustav.hartvigsson@gmail.com-20210109213627-h1xwcutzy9m7a99b
Added 'Case Preserving Working Tree Use Cases' from Canonical Wiki

* Addod a page from the Canonical Bazaar wiki
  with information on the scmeatics of case
  perserving filesystems an a case insensitive
  filesystem works.
  
  * Needs re-work, but this will do as it is the
    same inforamoton as what was on the linked
    page in the currint documentation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
    features,
33
33
    KnownFailure,
34
34
    )
35
 
from ..errors import (
36
 
    MalformedTransform,
37
 
    )
38
35
 
39
36
 
40
37
EMPTY_SHELF = (b"Bazaar pack format 1 (introduced in 0.18)\n"
254
251
        try:
255
252
            creator.transform()
256
253
            self.check_shelve_creation(creator, tree)
257
 
        except MalformedTransform:
 
254
        except transform.MalformedTransform:
258
255
            raise KnownFailure(
259
256
                'shelving directory with ignored file: see bug #611739')
260
257
 
381
378
        return creator, tree
382
379
 
383
380
    def check_shelve_deletion(self, tree):
384
 
        self.assertTrue(tree.has_id(b'foo-id'))
385
 
        self.assertTrue(tree.has_id(b'bar-id'))
 
381
        self.assertEqual(tree.id2path(b'foo-id'), 'foo')
 
382
        self.assertEqual(tree.id2path(b'bar-id'), 'foo/bar')
386
383
        self.assertFileEqual(b'baz', 'tree/foo/bar')
387
384
 
388
385
    def test_shelve_deletion(self):
503
500
        parser = pack.ContainerPushParser()
504
501
        with open('shelf', 'rb') as shelf_file:
505
502
            parser.accept_bytes(shelf_file.read())
506
 
        tt = transform.TransformPreview(tree)
 
503
        tt = tree.preview_transform()
507
504
        self.addCleanup(tt.finalize)
508
505
        records = iter(parser.read_pending_records())
509
506
        # skip revision-id
611
608
            creator.transform()
612
609
            creator.finalize()
613
610
        # validate the test setup
614
 
        self.assertTrue(tree.has_id(b'foo-id'))
615
 
        self.assertTrue(tree.has_id(b'bar-id'))
 
611
        self.assertEqual(tree.id2path(b'foo-id'), 'foo')
 
612
        self.assertEqual(tree.id2path(b'bar-id'), 'foo/bar')
616
613
        self.assertFileEqual(b'baz', 'tree/foo/bar')
617
614
        with open('shelf', 'r+b') as shelf_file:
618
615
            unshelver = shelf.Unshelver.from_tree_and_shelf(tree, shelf_file)
619
616
            self.addCleanup(unshelver.finalize)
620
617
            unshelver.make_merger().do_merge()
621
 
        self.assertFalse(tree.has_id(b'foo-id'))
622
 
        self.assertFalse(tree.has_id(b'bar-id'))
 
618
        self.assertRaises(errors.NoSuchId, tree.id2path, b'foo-id')
 
619
        self.assertRaises(errors.NoSuchId, tree.id2path, b'bar-id')
623
620
 
624
621
    def test_unshelve_base(self):
625
622
        tree = self.make_branch_and_tree('tree')