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