69
68
def test_get_set_default_format(self):
70
69
old_default = bzrdir.format_registry.get('default')
71
70
private_default = old_default().repository_format.__class__
72
old_format = repository.format_registry.get_default()
71
old_format = repository.RepositoryFormat.get_default_format()
73
72
self.assertTrue(isinstance(old_format, private_default))
74
73
def make_sample_bzrdir():
75
74
my_bzrdir = bzrdir.BzrDirMetaFormat1()
158
148
def test_register_unregister_format(self):
159
# Test deprecated format registration functions
160
149
format = SampleRepositoryFormat()
161
150
# make a control dir
162
151
dir = bzrdir.BzrDirMetaFormat1().initialize(self.get_url())
164
153
format.initialize(dir)
165
154
# register a format for it.
166
self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
167
repository.RepositoryFormat.register_format, format)
155
repository.RepositoryFormat.register_format(format)
168
156
# which repository.Open will refuse (not supported)
169
self.assertRaises(UnsupportedFormatError, repository.Repository.open,
157
self.assertRaises(UnsupportedFormatError, repository.Repository.open, self.get_url())
171
158
# but open(unsupported) will work
172
159
self.assertEqual(format.open(dir), "opened repository.")
173
160
# unregister the format
174
self.applyDeprecated(symbol_versioning.deprecated_in((2, 4, 0)),
175
repository.RepositoryFormat.unregister_format, format)
178
class TestRepositoryFormatRegistry(TestCase):
181
super(TestRepositoryFormatRegistry, self).setUp()
182
self.registry = repository.RepositoryFormatRegistry()
184
def test_register_unregister_format(self):
185
format = SampleRepositoryFormat()
186
self.registry.register(format)
187
self.assertEquals(format, self.registry.get("Sample .bzr repository format."))
188
self.registry.remove(format)
189
self.assertRaises(KeyError, self.registry.get, "Sample .bzr repository format.")
191
def test_get_all(self):
192
format = SampleRepositoryFormat()
193
self.assertEquals([], self.registry._get_all())
194
self.registry.register(format)
195
self.assertEquals([format], self.registry._get_all())
197
def test_register_extra(self):
198
format = SampleExtraRepositoryFormat()
199
self.assertEquals([], self.registry._get_all())
200
self.registry.register_extra(format)
201
self.assertEquals([format], self.registry._get_all())
203
def test_register_extra_lazy(self):
204
self.assertEquals([], self.registry._get_all())
205
self.registry.register_extra_lazy("bzrlib.tests.test_repository",
206
"SampleExtraRepositoryFormat")
207
formats = self.registry._get_all()
208
self.assertEquals(1, len(formats))
209
self.assertIsInstance(formats[0], SampleExtraRepositoryFormat)
161
repository.RepositoryFormat.unregister_format(format)
212
164
class TestFormat6(TestCaseWithTransport):
730
682
class Test2a(tests.TestCaseWithMemoryTransport):
732
def test_chk_bytes_uses_custom_btree_parser(self):
733
mt = self.make_branch_and_memory_tree('test', format='2a')
735
self.addCleanup(mt.unlock)
736
mt.add([''], ['root-id'])
738
index = mt.branch.repository.chk_bytes._index._graph_index._indices[0]
739
self.assertEqual(btree_index._gcchk_factory, index._leaf_factory)
740
# It should also work if we re-open the repo
741
repo = mt.branch.repository.bzrdir.open_repository()
743
self.addCleanup(repo.unlock)
744
index = repo.chk_bytes._index._graph_index._indices[0]
745
self.assertEqual(btree_index._gcchk_factory, index._leaf_factory)
747
684
def test_fetch_combines_groups(self):
748
685
builder = self.make_branch_builder('source', format='2a')
749
686
builder.start_series()
1020
957
def setUp(self):
1021
958
super(TestDevelopment6FindParentIdsOfRevisions, self).setUp()
1022
self.builder = self.make_branch_builder('source')
959
self.builder = self.make_branch_builder('source',
960
format='development6-rich-root')
1023
961
self.builder.start_series()
1024
962
self.builder.build_snapshot('initial', None,
1025
963
[('add', ('', 'tree-root', 'directory', None))])
1706
1644
self.orig_pack = target.pack
1707
1645
target.pack = self.log_pack
1708
1646
search = target.search_missing_revision_ids(
1709
source_tree.branch.repository, revision_ids=[tip])
1647
source_tree.branch.repository, tip)
1710
1648
stream = source.get_stream(search)
1711
1649
from_format = source_tree.branch.repository._format
1712
1650
sink = target._get_sink()