Rev 4437: (mbp) add 2a format in file:///home/pqm/archives/thelove/bzr/%2Btrunk/

Canonical.com Patch Queue Manager pqm at pqm.ubuntu.com
Fri Jun 12 02:11:06 BST 2009


At file:///home/pqm/archives/thelove/bzr/%2Btrunk/

------------------------------------------------------------
revno: 4437
revision-id: pqm at pqm.ubuntu.com-20090612011100-89h4a819eqx1ym98
parent: pqm at pqm.ubuntu.com-20090611234313-nd7scz9zpd66zilj
parent: mbp at sourcefrog.net-20090612001211-klg71efgdgrnyyc2
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Fri 2009-06-12 02:11:00 +0100
message:
  (mbp) add 2a format
modified:
  NEWS                           NEWS-20050323055033-4e00b5db738777ff
  bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
  bzrlib/repofmt/groupcompress_repo.py repofmt.py-20080715094215-wp1qfvoo7093c8qr-1
  bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
  bzrlib/tests/blackbox/test_init.py test_init.py-20060309032856-a292116204d86eb7
    ------------------------------------------------------------
    revno: 4428.2.6
    revision-id: mbp at sourcefrog.net-20090612001211-klg71efgdgrnyyc2
    parent: mbp at sourcefrog.net-20090611071652-mh7e1fpywi3omqf6
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: 385103-format-name
    timestamp: Fri 2009-06-12 10:12:11 +1000
    message:
      Stupid typo fix
    modified:
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
    ------------------------------------------------------------
    revno: 4428.2.5
    revision-id: mbp at sourcefrog.net-20090611071652-mh7e1fpywi3omqf6
    parent: mbp at sourcefrog.net-20090611050741-qizl52322zhd0fwt
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: 385103-format-name
    timestamp: Thu 2009-06-11 17:16:52 +1000
    message:
      Mark 2a experimental and tweak its help per lifeless's review
    modified:
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
    ------------------------------------------------------------
    revno: 4428.2.4
    revision-id: mbp at sourcefrog.net-20090611050741-qizl52322zhd0fwt
    parent: mbp at sourcefrog.net-20090611040820-ylo7dqcy1mc7m48l
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: 385103-format-name
    timestamp: Thu 2009-06-11 15:07:41 +1000
    message:
      Tweak news about 2a format
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
    ------------------------------------------------------------
    revno: 4428.2.3
    revision-id: mbp at sourcefrog.net-20090611040820-ylo7dqcy1mc7m48l
    parent: mbp at sourcefrog.net-20090611040808-qvro1mfsiudrup6c
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: 385103-format-name
    timestamp: Thu 2009-06-11 14:08:20 +1000
    message:
      Warn that upgrading to 2a may take some time
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
    ------------------------------------------------------------
    revno: 4428.2.2
    revision-id: mbp at sourcefrog.net-20090611040808-qvro1mfsiudrup6c
    parent: mbp at sourcefrog.net-20090611040414-ippyu6blszi7fhux
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: 385103-format-name
    timestamp: Thu 2009-06-11 14:08:08 +1000
    message:
      Format 2a should not be hidden
    modified:
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
    ------------------------------------------------------------
    revno: 4428.2.1
    revision-id: mbp at sourcefrog.net-20090611040414-ippyu6blszi7fhux
    parent: pqm at pqm.ubuntu.com-20090611003722-a15ofjj3n248m646
    committer: Martin Pool <mbp at sourcefrog.net>
    branch nick: 385103-format-name
    timestamp: Thu 2009-06-11 14:04:14 +1000
    message:
      Add 2a format
    modified:
      NEWS                           NEWS-20050323055033-4e00b5db738777ff
      bzrlib/bzrdir.py               bzrdir.py-20060131065624-156dfea39c4387cb
      bzrlib/repofmt/groupcompress_repo.py repofmt.py-20080715094215-wp1qfvoo7093c8qr-1
      bzrlib/repository.py           rev_storage.py-20051111201905-119e9401e46257e3
      bzrlib/tests/blackbox/test_init.py test_init.py-20060309032856-a292116204d86eb7
=== modified file 'NEWS'
--- a/NEWS	2009-06-11 09:11:21 +0000
+++ b/NEWS	2009-06-12 01:11:00 +0000
@@ -20,6 +20,25 @@
 New Features
 ************
 
+* A new repository format ``2a`` has been added.  This is a beta release
+  of the the brisbane-core (aka group-compress) project.  This format now
+  suitable for wider testing by advanced users willing to deal with some
+  bugs.  We would appreciate test reports, either positive or negative.
+  Format 2a is substantially smaller and faster for many operations on
+  many trees.  This format or an updated version will become the default
+  in bzr 2.0.
+
+  This is a rich-root format, so this repository format can be used with
+  bzr-svn.  Bazaar branches in previous non-rich-root formats can be
+  converted (including by merge, push and pull) to format 2a, but not vice
+  versa.  We recommend upgrading previous development formats to 2a.
+
+  Upgrading to this format can take considerable time because it expands
+  and more concisely repacks the full history.
+
+  If you use stacked branches, you must upgrade the stacked branches
+  before the stacked-on branches.  (See <https://bugs.launchpad.net/bugs/374735>)
+
 * ``--development7-rich-root`` is a new dev format, similar to ``--dev6``
   but using a Revision serializer using bencode rather than XML.
   (Jelmer Vernooij, John Arbash Meinel)

=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py	2009-06-11 11:02:53 +0000
+++ b/bzrlib/bzrdir.py	2009-06-12 01:11:00 +0000
@@ -3831,6 +3831,18 @@
     experimental=True,
     )
 
+format_registry.register_metadir('2a',
+    'bzrlib.repofmt.groupcompress_repo.RepositoryFormat2a',
+    help='First format for bzr 2.0 series.\n'
+        'Uses group-compress storage.\n'
+        'Provides rich roots which are a one-way transition.\n',
+        # 'storage in packs, 255-way hashed CHK inventory, bencode revision, group compress, '
+        # 'rich roots. Supported by bzr 1.16 and later.',
+    branch_format='bzrlib.branch.BzrBranchFormat7',
+    tree_format='bzrlib.workingtree.WorkingTreeFormat6',
+    experimental=True,
+    )
+
 # The following format should be an alias for the rich root equivalent 
 # of the default format
 format_registry.register_metadir('default-rich-root',

=== modified file 'bzrlib/repofmt/groupcompress_repo.py'
--- a/bzrlib/repofmt/groupcompress_repo.py	2009-06-11 23:43:13 +0000
+++ b/bzrlib/repofmt/groupcompress_repo.py	2009-06-12 01:11:00 +0000
@@ -1069,3 +1069,21 @@
                 'revision serialization (needs bzr.dev from 1.16)\n')
 
 
+class RepositoryFormat2a(RepositoryFormatCHK2):
+    """A CHK repository that uses the bencode revision serializer.
+    
+    This is the same as RepositoryFormatCHK2 but with a public name.
+    """
+
+    _serializer = chk_serializer.chk_bencode_serializer
+
+    def _get_matching_bzrdir(self):
+        return bzrdir.format_registry.make_bzrdir('2a')
+
+    def _ignore_setting_bzrdir(self, format):
+        pass
+
+    _matchingbzrdir = property(_get_matching_bzrdir, _ignore_setting_bzrdir)
+
+    def get_format_string(self):
+        return ('Bazaar repository format 2a (needs bzr 1.16 or later)\n')

=== modified file 'bzrlib/repository.py'
--- a/bzrlib/repository.py	2009-06-11 23:43:13 +0000
+++ b/bzrlib/repository.py	2009-06-12 01:11:00 +0000
@@ -3066,6 +3066,11 @@
     'bzrlib.repofmt.groupcompress_repo',
     'RepositoryFormatCHK2',
     )
+format_registry.register_lazy(
+    'Bazaar repository format 2a (needs bzr 1.16 or later)\n',
+    'bzrlib.repofmt.groupcompress_repo',
+    'RepositoryFormat2a',
+    )
 
 
 class InterRepository(InterObject):

=== modified file 'bzrlib/tests/blackbox/test_init.py'
--- a/bzrlib/tests/blackbox/test_init.py	2009-03-23 14:59:43 +0000
+++ b/bzrlib/tests/blackbox/test_init.py	2009-06-11 04:04:14 +0000
@@ -1,4 +1,4 @@
-# Copyright (C) 2006, 2007 Canonical Ltd
+# Copyright (C) 2006, 2007, 2009 Canonical Ltd
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -49,6 +49,13 @@
             out)
         self.assertEqual('', err)
 
+    def test_init_format_2a(self):
+        """Smoke test for constructing a format 2a repoistory."""
+        out, err = self.run_bzr('init --format=2a')
+        self.assertEqual("""Created a standalone tree (format: 2a)\n""",
+            out)
+        self.assertEqual('', err)
+
     def test_init_at_repository_root(self):
         # bzr init at the root of a repository should create a branch
         # and working tree even when creation of working trees is disabled.




More information about the bazaar-commits mailing list