/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 bzrlib/tests/test_bundle.py

It turns out CHKSerializer was inheriting from xml5

However, xml5 does *not* support rich roots. So it was inherently a bad
xml format for trasmitting rich-root information.
I don't believe the XML format was used elsewhere (there was some code
in StreamSource that used it for a while, but that is currently replaced
by the InterDifferingSerializer code path, and in the future we will
be switching to inventory deltas anyway.)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1480
1480
        self.assertEqual('a@cset-0-3', revision_id)
1481
1481
        self.assertEqual('inventory', repo_kind)
1482
1482
        self.assertEqual({'parents': ['a@cset-0-2a', 'a@cset-0-2b'],
1483
 
                          'sha1': 'c08b0f8cc256107f0229c98931d1d69c0e843196',
 
1483
                          'sha1': '09c53b0c4de0895e11a2aacc34fef60a6e70865c',
1484
1484
                          'storage_kind': 'mpdiff',
1485
1485
                         }, metadata)
1486
1486
        # We should have an mpdiff that takes some lines from both parents.
1487
1487
        self.assertEqualDiff(
1488
1488
            'i 1\n'
1489
 
            '<inventory file_id="root-id" format="5"'
1490
 
                ' revision_id="a@cset-0-3">\n'
 
1489
            '<inventory format="10" revision_id="a@cset-0-3">\n'
1491
1490
            '\n'
1492
 
            'c 0 1 1 1\n'
1493
 
            'c 1 2 2 2\n', bytes)
 
1491
            'c 0 1 1 2\n'
 
1492
            'c 1 3 3 2\n', bytes)
1494
1493
 
1495
1494
    def test_single_inv_no_parents_as_xml(self):
1496
1495
        self.make_merged_branch()
1505
1504
        self.assertEqual('a@cset-0-1', revision_id)
1506
1505
        self.assertEqual('inventory', repo_kind)
1507
1506
        self.assertEqual({'parents': [],
1508
 
                          'sha1': 'f6ed523eebc7d813d1adbdaf3754c00e1de49446',
 
1507
                          'sha1': 'a13f42b142d544aac9b085c42595d304150e31a2',
1509
1508
                          'storage_kind': 'mpdiff',
1510
1509
                         }, metadata)
1511
1510
        # We should have an mpdiff that takes some lines from both parents.
1512
1511
        self.assertEqualDiff(
1513
 
            'i 3\n'
1514
 
            '<inventory file_id="root-id" format="5"'
1515
 
                ' revision_id="a@cset-0-1">\n'
 
1512
            'i 4\n'
 
1513
            '<inventory format="10" revision_id="a@cset-0-1">\n'
 
1514
            '<directory file_id="root-id" name=""'
 
1515
                ' revision="a@cset-0-1" />\n'
1516
1516
            '<file file_id="file-id" name="file" parent_id="root-id"'
1517
1517
                ' revision="a@cset-0-1"'
1518
1518
                ' text_sha1="09c2f8647e14e49e922b955c194102070597c2d1"'
1532
1532
                         revision_ids)
1533
1533
        metadata_2a = records[0][1]
1534
1534
        self.assertEqual({'parents': ['a@cset-0-1'],
1535
 
                          'sha1': 'a699b8d8fe87361ad758e99655afab44aca287b2',
 
1535
                          'sha1': '1e105886d62d510763e22885eec733b66f5f09bf',
1536
1536
                          'storage_kind': 'mpdiff',
1537
1537
                         }, metadata_2a)
1538
1538
        metadata_2b = records[1][1]
1539
1539
        self.assertEqual({'parents': ['a@cset-0-1'],
1540
 
                          'sha1': 'c2bab5eda6a31f206042f0fcacc175b76c65a376',
 
1540
                          'sha1': 'f03f12574bdb5ed2204c28636c98a8547544ccd8',
1541
1541
                          'storage_kind': 'mpdiff',
1542
1542
                         }, metadata_2b)
1543
1543
        metadata_3 = records[2][1]
1544
1544
        self.assertEqual({'parents': ['a@cset-0-2a', 'a@cset-0-2b'],
1545
 
                          'sha1': 'c08b0f8cc256107f0229c98931d1d69c0e843196',
 
1545
                          'sha1': '09c53b0c4de0895e11a2aacc34fef60a6e70865c',
1546
1546
                          'storage_kind': 'mpdiff',
1547
1547
                         }, metadata_3)
1548
1548
        bytes_2a = records[0][0]
1549
1549
        self.assertEqualDiff(
1550
 
            'i 2\n'
1551
 
            '<inventory file_id="root-id" format="5"'
1552
 
                ' revision_id="a@cset-0-2a">\n'
 
1550
            'i 1\n'
 
1551
            '<inventory format="10" revision_id="a@cset-0-2a">\n'
 
1552
            '\n'
 
1553
            'c 0 1 1 1\n'
 
1554
            'i 1\n'
1553
1555
            '<file file_id="file-id" name="file" parent_id="root-id"'
1554
1556
                ' revision="a@cset-0-2a"'
1555
1557
                ' text_sha1="50f545ff40e57b6924b1f3174b267ffc4576e9a9"'
1556
1558
                ' text_size="12" />\n'
1557
1559
            '\n'
1558
 
            'c 0 2 2 1\n', bytes_2a)
 
1560
            'c 0 3 3 1\n', bytes_2a)
1559
1561
        bytes_2b = records[1][0]
1560
1562
        self.assertEqualDiff(
1561
1563
            'i 1\n'
1562
 
            '<inventory file_id="root-id" format="5"'
1563
 
                ' revision_id="a@cset-0-2b">\n'
 
1564
            '<inventory format="10" revision_id="a@cset-0-2b">\n'
1564
1565
            '\n'
1565
 
            'c 0 1 1 1\n'
 
1566
            'c 0 1 1 2\n'
1566
1567
            'i 1\n'
1567
1568
            '<file file_id="file2-id" name="other-file" parent_id="root-id"'
1568
1569
                ' revision="a@cset-0-2b"'
1569
1570
                ' text_sha1="b46c0c8ea1e5ef8e46fc8894bfd4752a88ec939e"'
1570
1571
                ' text_size="14" />\n'
1571
1572
            '\n'
1572
 
            'c 0 2 3 1\n', bytes_2b)
 
1573
            'c 0 3 4 1\n', bytes_2b)
1573
1574
        bytes_3 = records[2][0]
1574
1575
        self.assertEqualDiff(
1575
1576
            'i 1\n'
1576
 
            '<inventory file_id="root-id" format="5"'
1577
 
                ' revision_id="a@cset-0-3">\n'
 
1577
            '<inventory format="10" revision_id="a@cset-0-3">\n'
1578
1578
            '\n'
1579
 
            'c 0 1 1 1\n'
1580
 
            'c 1 2 2 2\n', bytes_3)
 
1579
            'c 0 1 1 2\n'
 
1580
            'c 1 3 3 2\n', bytes_3)
 
1581
 
 
1582
    def test_creating_bundle_preserves_chk_pages(self):
 
1583
        self.make_merged_branch()
 
1584
        target = self.b1.bzrdir.sprout('target',
 
1585
                                       revision_id='a@cset-0-2a').open_branch()
 
1586
        bundle_txt, rev_ids = self.create_bundle_text('a@cset-0-2a',
 
1587
                                                      'a@cset-0-3')
 
1588
        self.assertEqual(['a@cset-0-2b', 'a@cset-0-3'], rev_ids)
 
1589
        bundle = read_bundle(bundle_txt)
 
1590
        target.lock_write()
 
1591
        self.addCleanup(target.unlock)
 
1592
        install_bundle(target.repository, bundle)
 
1593
        inv1 = self.b1.repository.inventories.get_record_stream([
 
1594
            ('a@cset-0-3',)], 'unordered',
 
1595
            True).next().get_bytes_as('fulltext')
 
1596
        inv2 = target.repository.inventories.get_record_stream([
 
1597
            ('a@cset-0-3',)], 'unordered',
 
1598
            True).next().get_bytes_as('fulltext')
 
1599
        self.assertEqualDiff(inv1, inv2)
1581
1600
 
1582
1601
 
1583
1602
class MungedBundleTester(object):