~bzr-pqm/bzr/bzr.dev

« back to all changes in this revision

Viewing changes to bzrlib/repofmt/pack_repo.py

  • Committer: John Arbash Meinel
  • Date: 2008-10-28 22:19:31 UTC
  • mto: (3815.2.1 prepare-1.9)
  • mto: This revision was merged to the branch mainline in revision 3816.
  • Revision ID: john@arbash-meinel.com-20081028221931-uk9oan2xkocd0gis
Add repository 1.9 format, and update the documentation.

Help people generating new repository formats find all the locations
they need to update.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2316
2316
                " (deprecated)")
2317
2317
 
2318
2318
 
 
2319
class RepositoryFormatKnitPack6(RepositoryFormatPack):
 
2320
    """A repository with stacking and btree indexes,
 
2321
    without rich roots or subtrees.
 
2322
 
 
2323
    This is equivalent to pack-1.6 with B+Tree indices.
 
2324
    """
 
2325
 
 
2326
    repository_class = KnitPackRepository
 
2327
    _commit_builder_class = PackCommitBuilder
 
2328
    supports_external_lookups = True
 
2329
    # What index classes to use
 
2330
    index_builder_class = BTreeBuilder
 
2331
    index_class = BTreeGraphIndex
 
2332
 
 
2333
    @property
 
2334
    def _serializer(self):
 
2335
        return xml5.serializer_v5
 
2336
 
 
2337
    def _get_matching_bzrdir(self):
 
2338
        return bzrdir.format_registry.make_bzrdir('1.9')
 
2339
 
 
2340
    def _ignore_setting_bzrdir(self, format):
 
2341
        pass
 
2342
 
 
2343
    _matchingbzrdir = property(_get_matching_bzrdir, _ignore_setting_bzrdir)
 
2344
 
 
2345
    def get_format_string(self):
 
2346
        """See RepositoryFormat.get_format_string()."""
 
2347
        return "Bazaar RepositoryFormatKnitPack6 (bzr 1.9)\n"
 
2348
 
 
2349
    def get_format_description(self):
 
2350
        """See RepositoryFormat.get_format_description()."""
 
2351
        return "Packs 6 (uses btree indexes, requires bzr 1.9)"
 
2352
 
 
2353
    def check_conversion_target(self, target_format):
 
2354
        pass
 
2355
 
 
2356
 
 
2357
class RepositoryFormatKnitPack6RichRoot(RepositoryFormatPack):
 
2358
    """A repository with rich roots, no subtrees, stacking and btree indexes.
 
2359
 
 
2360
    This format should be retained until the second release after bzr 1.7.
 
2361
 
 
2362
    1.6.1-subtree[as it might have been] with B+Tree indices.
 
2363
    """
 
2364
 
 
2365
    repository_class = KnitPackRepository
 
2366
    _commit_builder_class = PackRootCommitBuilder
 
2367
    rich_root_data = True
 
2368
    supports_tree_reference = False # no subtrees
 
2369
    supports_external_lookups = True
 
2370
    # What index classes to use
 
2371
    index_builder_class = BTreeBuilder
 
2372
    index_class = BTreeGraphIndex
 
2373
 
 
2374
    @property
 
2375
    def _serializer(self):
 
2376
        return xml6.serializer_v6
 
2377
 
 
2378
    def _get_matching_bzrdir(self):
 
2379
        return bzrdir.format_registry.make_bzrdir(
 
2380
            '1.9-rich-root')
 
2381
 
 
2382
    def _ignore_setting_bzrdir(self, format):
 
2383
        pass
 
2384
 
 
2385
    _matchingbzrdir = property(_get_matching_bzrdir, _ignore_setting_bzrdir)
 
2386
 
 
2387
    def check_conversion_target(self, target_format):
 
2388
        if not target_format.rich_root_data:
 
2389
            raise errors.BadConversionTarget(
 
2390
                'Does not support rich root data.', target_format)
 
2391
 
 
2392
    def get_format_string(self):
 
2393
        """See RepositoryFormat.get_format_string()."""
 
2394
        return "Bazaar RepositoryFormatKnitPack6RichRoot (bzr 1.9)\n"
 
2395
 
 
2396
    def get_format_description(self):
 
2397
        return "Packs 6 rich-root (uses btree indexes, requires bzr 1.9)"
 
2398
 
 
2399
 
2319
2400
class RepositoryFormatPackDevelopment2(RepositoryFormatPack):
2320
2401
    """A no-subtrees development repository.
2321
2402