/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/repofmt/knitrepo.py

  • Committer: Robert Collins
  • Date: 2007-03-06 06:35:00 UTC
  • mto: (2321.1.1 integration)
  • mto: This revision was merged to the branch mainline in revision 2322.
  • Revision ID: robertc@robertcollins.net-20070306063500-ihgarcmlv48p2gu0
Remove knit2 repository format- it has never been supported.

Show diffs side-by-side

added added

removed removed

Lines of Context:
24
24
    osutils,
25
25
    transactions,
26
26
    xml5,
27
 
    xml6,
28
27
    xml7,
29
28
    )
30
29
 
205
204
        return self._get_revision_vf().get_parents(revision_id)
206
205
 
207
206
 
208
 
class KnitRepository2(KnitRepository):
209
 
    """"""
 
207
class KnitRepository3(KnitRepository):
 
208
 
210
209
    def __init__(self, _format, a_bzrdir, control_files, _revision_store,
211
210
                 control_store, text_store):
212
211
        KnitRepository.__init__(self, _format, a_bzrdir, control_files,
213
212
                              _revision_store, control_store, text_store)
214
 
        self._serializer = xml6.serializer_v6
 
213
        self._serializer = xml7.serializer_v7
215
214
 
216
215
    def deserialise_inventory(self, revision_id, xml):
217
216
        """Transform the xml into an inventory object. 
252
251
                                 committer, revprops, revision_id)
253
252
 
254
253
 
255
 
class KnitRepository3(KnitRepository2):
256
 
 
257
 
    def __init__(self, _format, a_bzrdir, control_files, _revision_store,
258
 
                 control_store, text_store):
259
 
        KnitRepository2.__init__(self, _format, a_bzrdir, control_files,
260
 
                                 _revision_store, control_store, text_store)
261
 
        self._serializer = xml7.serializer_v7
262
 
 
263
 
 
264
254
class RepositoryFormatKnit(MetaDirRepositoryFormat):
265
255
    """Bzr repository knit format (generalized). 
266
256
 
400
390
        pass
401
391
 
402
392
 
403
 
class RepositoryFormatKnit2(RepositoryFormatKnit):
404
 
    """Bzr repository knit format 2.
405
 
 
406
 
    THIS FORMAT IS EXPERIMENTAL
407
 
    This repository format has:
408
 
     - knits for file texts and inventory
409
 
     - hash subdirectory based stores.
410
 
     - knits for revisions and signatures
411
 
     - TextStores for revisions and signatures.
412
 
     - a format marker of its own
413
 
     - an optional 'shared-storage' flag
414
 
     - an optional 'no-working-trees' flag
415
 
     - a LockDir lock
416
 
     - Support for recording full info about the tree root
417
 
 
418
 
    """
419
 
    
420
 
    rich_root_data = True
421
 
    repository_class = KnitRepository2
422
 
 
423
 
    def get_format_string(self):
424
 
        """See RepositoryFormat.get_format_string()."""
425
 
        return "Bazaar Knit Repository Format 2\n"
426
 
 
427
 
    def get_format_description(self):
428
 
        """See RepositoryFormat.get_format_description()."""
429
 
        return "Knit repository format 2"
430
 
 
431
 
    def check_conversion_target(self, target_format):
432
 
        if not target_format.rich_root_data:
433
 
            raise errors.BadConversionTarget(
434
 
                'Does not support rich root data.', target_format)
435
 
 
436
 
    def open(self, a_bzrdir, _found=False, _override_transport=None):
437
 
        """See RepositoryFormat.open().
438
 
        
439
 
        :param _override_transport: INTERNAL USE ONLY. Allows opening the
440
 
                                    repository at a slightly different url
441
 
                                    than normal. I.e. during 'upgrade'.
442
 
        """
443
 
        if not _found:
444
 
            format = RepositoryFormat.find_format(a_bzrdir)
445
 
            assert format.__class__ ==  self.__class__
446
 
        if _override_transport is not None:
447
 
            repo_transport = _override_transport
448
 
        else:
449
 
            repo_transport = a_bzrdir.get_repository_transport(None)
450
 
        control_files = lockable_files.LockableFiles(repo_transport, 'lock',
451
 
                                                     lockdir.LockDir)
452
 
        text_store = self._get_text_store(repo_transport, control_files)
453
 
        control_store = self._get_control_store(repo_transport, control_files)
454
 
        _revision_store = self._get_revision_store(repo_transport, control_files)
455
 
        return self.repository_class(_format=self,
456
 
                                     a_bzrdir=a_bzrdir,
457
 
                                     control_files=control_files,
458
 
                                     _revision_store=_revision_store,
459
 
                                     control_store=control_store,
460
 
                                     text_store=text_store)
461
 
 
462
 
 
463
 
class RepositoryFormatKnit3(RepositoryFormatKnit2):
464
 
    """Bzr repository knit format 2.
465
 
 
466
 
    THIS FORMAT IS EXPERIMENTAL
 
393
class RepositoryFormatKnit3(RepositoryFormatKnit):
 
394
    """Bzr repository knit format 2.
 
395
 
467
396
    This repository format has:
468
397
     - knits for file texts and inventory
469
398
     - hash subdirectory based stores.
478
407
    """
479
408
 
480
409
    repository_class = KnitRepository3
 
410
    rich_root_data = True
481
411
    support_tree_reference = True
482
412
 
483
413
    def _get_matching_bzrdir(self):
489
419
    _matchingbzrdir = property(_get_matching_bzrdir, _ignore_setting_bzrdir)
490
420
 
491
421
    def check_conversion_target(self, target_format):
492
 
        RepositoryFormatKnit2.check_conversion_target(self, target_format)
 
422
        if not target_format.rich_root_data:
 
423
            raise errors.BadConversionTarget(
 
424
                'Does not support rich root data.', target_format)
493
425
        if not getattr(target_format, 'support_tree_reference', False):
494
426
            raise errors.BadConversionTarget(
495
427
                'Does not support nested trees', target_format)
496
428
            
497
 
 
498
429
    def get_format_string(self):
499
430
        """See RepositoryFormat.get_format_string()."""
500
431
        return "Bazaar Knit Repository Format 3\n"
503
434
        """See RepositoryFormat.get_format_description()."""
504
435
        return "Knit repository format 3"
505
436
 
506
 
 
 
437
    def open(self, a_bzrdir, _found=False, _override_transport=None):
 
438
        """See RepositoryFormat.open().
 
439
        
 
440
        :param _override_transport: INTERNAL USE ONLY. Allows opening the
 
441
                                    repository at a slightly different url
 
442
                                    than normal. I.e. during 'upgrade'.
 
443
        """
 
444
        if not _found:
 
445
            format = RepositoryFormat.find_format(a_bzrdir)
 
446
            assert format.__class__ ==  self.__class__
 
447
        if _override_transport is not None:
 
448
            repo_transport = _override_transport
 
449
        else:
 
450
            repo_transport = a_bzrdir.get_repository_transport(None)
 
451
        control_files = lockable_files.LockableFiles(repo_transport, 'lock',
 
452
                                                     lockdir.LockDir)
 
453
        text_store = self._get_text_store(repo_transport, control_files)
 
454
        control_store = self._get_control_store(repo_transport, control_files)
 
455
        _revision_store = self._get_revision_store(repo_transport, control_files)
 
456
        return self.repository_class(_format=self,
 
457
                                     a_bzrdir=a_bzrdir,
 
458
                                     control_files=control_files,
 
459
                                     _revision_store=_revision_store,
 
460
                                     control_store=control_store,
 
461
                                     text_store=text_store)