287
281
_commit_builder_class = None
288
282
# Set this attribute in derived clases to control the _serializer that the
289
283
# repository objects will have passed to their constructor.
290
_serializer = xml5.serializer_v5
285
def _serializer(self):
286
return xml5.serializer_v5
291
287
# Knit based repositories handle ghosts reasonably well.
292
288
supports_ghosts = True
293
289
# External lookups are not supported in this format.
294
290
supports_external_lookups = False
296
292
def _get_inventories(self, repo_transport, repo, name='inventory'):
297
mapper = ConstantMapper(name)
298
index = _KndxIndex(repo_transport, mapper, repo.get_transaction,
299
repo.is_write_locked, repo.is_locked)
300
access = _KnitKeyAccess(repo_transport, mapper)
301
return KnitVersionedFiles(index, access, annotated=False)
293
mapper = versionedfile.ConstantMapper(name)
294
index = _mod_knit._KndxIndex(repo_transport, mapper,
295
repo.get_transaction, repo.is_write_locked, repo.is_locked)
296
access = _mod_knit._KnitKeyAccess(repo_transport, mapper)
297
return _mod_knit.KnitVersionedFiles(index, access, annotated=False)
303
299
def _get_revisions(self, repo_transport, repo):
304
mapper = ConstantMapper('revisions')
305
index = _KndxIndex(repo_transport, mapper, repo.get_transaction,
306
repo.is_write_locked, repo.is_locked)
307
access = _KnitKeyAccess(repo_transport, mapper)
308
return KnitVersionedFiles(index, access, max_delta_chain=0,
300
mapper = versionedfile.ConstantMapper('revisions')
301
index = _mod_knit._KndxIndex(repo_transport, mapper,
302
repo.get_transaction, repo.is_write_locked, repo.is_locked)
303
access = _mod_knit._KnitKeyAccess(repo_transport, mapper)
304
return _mod_knit.KnitVersionedFiles(index, access, max_delta_chain=0,
311
307
def _get_signatures(self, repo_transport, repo):
312
mapper = ConstantMapper('signatures')
313
index = _KndxIndex(repo_transport, mapper, repo.get_transaction,
314
repo.is_write_locked, repo.is_locked)
315
access = _KnitKeyAccess(repo_transport, mapper)
316
return KnitVersionedFiles(index, access, max_delta_chain=0,
308
mapper = versionedfile.ConstantMapper('signatures')
309
index = _mod_knit._KndxIndex(repo_transport, mapper,
310
repo.get_transaction, repo.is_write_locked, repo.is_locked)
311
access = _mod_knit._KnitKeyAccess(repo_transport, mapper)
312
return _mod_knit.KnitVersionedFiles(index, access, max_delta_chain=0,
319
315
def _get_texts(self, repo_transport, repo):
320
mapper = HashEscapedPrefixMapper()
316
mapper = versionedfile.HashEscapedPrefixMapper()
321
317
base_transport = repo_transport.clone('knits')
322
index = _KndxIndex(base_transport, mapper, repo.get_transaction,
323
repo.is_write_locked, repo.is_locked)
324
access = _KnitKeyAccess(base_transport, mapper)
325
return KnitVersionedFiles(index, access, max_delta_chain=200,
318
index = _mod_knit._KndxIndex(base_transport, mapper,
319
repo.get_transaction, repo.is_write_locked, repo.is_locked)
320
access = _mod_knit._KnitKeyAccess(base_transport, mapper)
321
return _mod_knit.KnitVersionedFiles(index, access, max_delta_chain=200,
328
324
def initialize(self, a_bzrdir, shared=False):