Rev 6258: Simplify by not requiring the [features] section. If additional sections in file:///home/vila/src/bzr/reviews/feature-flags/

Vincent Ladeuil v.ladeuil+lp at free.fr
Fri Dec 16 13:29:12 UTC 2011


At file:///home/vila/src/bzr/reviews/feature-flags/

------------------------------------------------------------
revno: 6258
revision-id: v.ladeuil+lp at free.fr-20111216132912-2nmo67vb25htra38
parent: v.ladeuil+lp at free.fr-20111216124156-0u6i2by1w14rwcmr
committer: Vincent Ladeuil <v.ladeuil+lp at free.fr>
branch nick: feature-flags
timestamp: Fri 2011-12-16 14:29:12 +0100
message:
  Simplify by not requiring the [features] section. If additional sections
  are required later on, they can still be added but there is no need to
  require one to start with.
-------------- next part --------------
=== modified file 'bzrlib/bzrdir.py'
--- a/bzrlib/bzrdir.py	2011-12-16 12:41:56 +0000
+++ b/bzrlib/bzrdir.py	2011-12-16 13:29:12 +0000
@@ -1184,12 +1184,8 @@
             raise ValueError("Invalid format content %r" % (rest,))
         except UnicodeDecodeError:
             raise ValueError("Non-utf8 format content %r" % (rest,))
-        try:
-            fdict = conf['features']
-        except KeyError:
-            raise ValueError("Invalid features %r" % (rest,))
         ret = cls()
-        for name, value in fdict.iteritems():
+        for name, value in conf.iteritems():
             if not value in ('required', 'optional', 'necessity'):
                 raise ValueError("Invalid feature kind %r" % (value,))
             ret.features[name] = value
@@ -1200,7 +1196,6 @@
         """
         lines = [self.get_format_string()]
         if self.features:
-            lines.append('[features]\n')
             lines.extend([("%s = %s\n" % (k, v)) for k,v in
                           self.features.iteritems()])
         return "".join(lines)

=== modified file 'bzrlib/tests/test_branch.py'
--- a/bzrlib/tests/test_branch.py	2011-12-16 12:41:56 +0000
+++ b/bzrlib/tests/test_branch.py	2011-12-16 13:29:12 +0000
@@ -221,7 +221,7 @@
         tree = self.make_branch_and_tree('.', format='2a')
         tree.branch.control_transport.put_bytes('format',
             tree.branch._format.get_format_string() +
-            "[features]\n name = optional\n")
+            "name = optional\n")
         found_format = _mod_branch.BranchFormatMetadir.find_format(tree.bzrdir)
         self.assertIsInstance(found_format, _mod_branch.BranchFormatMetadir)
         self.assertEquals(found_format.features.get("name"), "optional")

=== modified file 'bzrlib/tests/test_bzrdir.py'
--- a/bzrlib/tests/test_bzrdir.py	2011-12-16 12:41:56 +0000
+++ b/bzrlib/tests/test_bzrdir.py	2011-12-16 13:29:12 +0000
@@ -1030,7 +1030,7 @@
         tree.bzrdir.control_transport.put_bytes(
             'branch-format',
             (tree.bzrdir._format.get_format_string()
-             + "[features]\nbar = required\n"))
+             + "bar = required\n"))
         self.assertRaises(errors.MissingFeature, bzrdir.BzrDir.open, 'tree')
         bzrdir.BzrDirMetaFormat1.register_feature('bar')
         dir = bzrdir.BzrDir.open('tree')
@@ -1461,12 +1461,10 @@
         format = SampleBzrFormat()
         format.features = {"foo": "required"}
         self.assertEquals(format.as_string(), '''First line
-[features]
 foo = required
 ''')
         format.features["another"] = "optional"
         self.assertEquals(format.as_string(), '''First line
-[features]
 foo = required
 another = optional
 ''')
@@ -1476,21 +1474,21 @@
         format = SampleBzrFormat()
         format.features = {"foo": "required"}
         self.assertEquals(
-            "First line\n[features]\nfoo = required\n",
+            "First line\nfoo = required\n",
             format.network_name())
 
     def test_valid_from_string(self):
         format = SampleBzrFormat.from_string(
-            "First line\n[features]\nfoo=required\n")
+            "First line\nfoo=required\n")
         self.assertEquals("required", format.features.get("foo"))
 
     def test_invalid_format_line(self):
         self.assertRaises(ValueError, SampleBzrFormat.from_string,
-            "Second line\n[features]\nfoo=required\n")
+            "Second line\nfoo=required\n")
 
     def test_unknown_kind_feature(self):
         self.assertRaises(ValueError, SampleBzrFormat.from_string,
-            "First line\n[features]\nfoo=bla\n")
+            "First line\nfoo=bla\n")
 
     def test_invalid_content(self):
         self.assertRaises(ValueError, SampleBzrFormat.from_string,

=== modified file 'bzrlib/tests/test_repository.py'
--- a/bzrlib/tests/test_repository.py	2011-12-16 12:41:56 +0000
+++ b/bzrlib/tests/test_repository.py	2011-12-16 13:29:12 +0000
@@ -168,7 +168,7 @@
         tree = self.make_branch_and_tree('.', format='2a')
         tree.branch.repository.control_transport.put_bytes('format',
             tree.branch.repository._format.get_format_string() +
-            "[features]\nname = necessity\n")
+            "name = necessity\n")
         found_format = repository.RepositoryFormatMetaDir.find_format(tree.bzrdir)
         self.assertIsInstance(found_format, repository.RepositoryFormatMetaDir)
         self.assertEquals(found_format.features.get("name"), "necessity")

=== modified file 'bzrlib/tests/test_workingtree.py'
--- a/bzrlib/tests/test_workingtree.py	2011-12-16 12:41:56 +0000
+++ b/bzrlib/tests/test_workingtree.py	2011-12-16 13:29:12 +0000
@@ -246,7 +246,7 @@
     def test_find_format_with_features(self):
         tree = self.make_branch_and_tree('.', format='2a')
         tree.control_transport.put_bytes('format',
-            tree._format.get_format_string() + "[features]\nname = necessity\n")
+            tree._format.get_format_string() + "name = necessity\n")
         found_format = workingtree.WorkingTreeFormatMetaDir.find_format(
             tree.bzrdir)
         self.assertIsInstance(found_format, workingtree.WorkingTreeFormat)



More information about the bazaar-commits mailing list