137
136
format.initialize(dir)
138
137
t = transport.get_transport(url)
139
138
found_format = repository.RepositoryFormat.find_format(dir)
140
self.assertIsInstance(found_format, format.__class__)
139
self.failUnless(isinstance(found_format, format.__class__))
141
140
check_format(repository.format_registry.get_default(), "bar")
143
142
def test_find_format_no_repository(self):
748
747
source = self.make_repository('source', format='pack-0.92')
749
748
target = self.make_repository('target', format='pack-0.92')
750
749
stream_source = source._get_source(target._format)
751
self.assertIsInstance(stream_source, knitpack_repo.KnitPackStreamSource)
750
self.assertIsInstance(stream_source, pack_repo.KnitPackStreamSource)
753
752
def test_source_to_exact_pack_rich_root_pack(self):
754
753
source = self.make_repository('source', format='rich-root-pack')
755
754
target = self.make_repository('target', format='rich-root-pack')
756
755
stream_source = source._get_source(target._format)
757
self.assertIsInstance(stream_source, knitpack_repo.KnitPackStreamSource)
756
self.assertIsInstance(stream_source, pack_repo.KnitPackStreamSource)
759
758
def test_source_to_exact_pack_19(self):
760
759
source = self.make_repository('source', format='1.9')
761
760
target = self.make_repository('target', format='1.9')
762
761
stream_source = source._get_source(target._format)
763
self.assertIsInstance(stream_source, knitpack_repo.KnitPackStreamSource)
762
self.assertIsInstance(stream_source, pack_repo.KnitPackStreamSource)
765
764
def test_source_to_exact_pack_19_rich_root(self):
766
765
source = self.make_repository('source', format='1.9-rich-root')
767
766
target = self.make_repository('target', format='1.9-rich-root')
768
767
stream_source = source._get_source(target._format)
769
self.assertIsInstance(stream_source, knitpack_repo.KnitPackStreamSource)
768
self.assertIsInstance(stream_source, pack_repo.KnitPackStreamSource)
771
770
def test_source_to_remote_exact_pack_19(self):
772
771
trans = self.make_smart_server('target')
775
774
target = self.make_repository('target', format='1.9')
776
775
target = repository.Repository.open(trans.base)
777
776
stream_source = source._get_source(target._format)
778
self.assertIsInstance(stream_source, knitpack_repo.KnitPackStreamSource)
777
self.assertIsInstance(stream_source, pack_repo.KnitPackStreamSource)
780
779
def test_stream_source_to_non_exact(self):
781
780
source = self.make_repository('source', format='pack-0.92')
1444
1443
# Because of how they were built, they correspond to
1445
1444
# ['D', 'C', 'B', 'A']
1446
1445
packs = b.repository._pack_collection.packs
1447
packer = knitpack_repo.KnitPacker(b.repository._pack_collection,
1446
packer = pack_repo.Packer(b.repository._pack_collection,
1448
1447
packs, 'testing',
1449
1448
revision_ids=['B', 'C'])
1450
1449
# Now, when we are copying the B & C revisions, their pack files should
1464
1463
return repo._pack_collection
1466
1465
def test_open_pack_will_optimise(self):
1467
packer = knitpack_repo.OptimisingKnitPacker(self.get_pack_collection(),
1466
packer = pack_repo.OptimisingPacker(self.get_pack_collection(),
1469
1468
new_pack = packer.open_pack()
1470
1469
self.addCleanup(new_pack.abort) # ensure cleanup