Rev 2695: Restore compatibility with 0.19 version of merge directive 2 in file:///home/pqm/archives/thelove/bzr/%2Btrunk/
Canonical.com Patch Queue Manager
pqm at pqm.ubuntu.com
Sat Aug 11 00:06:30 BST 2007
At file:///home/pqm/archives/thelove/bzr/%2Btrunk/
------------------------------------------------------------
revno: 2695
revision-id: pqm at pqm.ubuntu.com-20070810230629-bcp0rgmbhp0z35e1
parent: pqm at pqm.ubuntu.com-20070810111627-h6m8b0ist3ca15ae
parent: aaron.bentley at utoronto.ca-20070810221918-sqvm0p7nvww4q1tj
committer: Canonical.com Patch Queue Manager <pqm at pqm.ubuntu.com>
branch nick: +trunk
timestamp: Sat 2007-08-11 00:06:29 +0100
message:
Restore compatibility with 0.19 version of merge directive 2
modified:
bzrlib/merge_directive.py merge_directive.py-20070228184838-ja62280spt1g7f4x-1
bzrlib/tests/test_merge_directive.py test_merge_directive-20070228184838-ja62280spt1g7f4x-2
------------------------------------------------------------
revno: 2694.1.3
merged: aaron.bentley at utoronto.ca-20070810221918-sqvm0p7nvww4q1tj
parent: abentley at panoramicfeedback.com-20070810203616-ddqcdj4bzxh7db7r
committer: Aaron Bentley <aaron.bentley at utoronto.ca>
branch nick: bzr.ab.integration
timestamp: Fri 2007-08-10 18:19:18 -0400
message:
Fix whitespace
------------------------------------------------------------
revno: 2694.1.2
merged: abentley at panoramicfeedback.com-20070810203616-ddqcdj4bzxh7db7r
parent: abentley at panoramicfeedback.com-20070810203007-1kmxe2pg87w4p798
committer: Aaron Bentley <abentley at panoramicfeedback.com>
branch nick: old-merge-directive
timestamp: Fri 2007-08-10 16:36:16 -0400
message:
Fix whitespace
------------------------------------------------------------
revno: 2694.1.1
merged: abentley at panoramicfeedback.com-20070810203007-1kmxe2pg87w4p798
parent: pqm at pqm.ubuntu.com-20070810111627-h6m8b0ist3ca15ae
committer: Aaron Bentley <abentley at panoramicfeedback.com>
branch nick: old-merge-directive
timestamp: Fri 2007-08-10 16:30:07 -0400
message:
Restore support for Merge directive 2 / 0.19
=== modified file 'bzrlib/merge_directive.py'
--- a/bzrlib/merge_directive.py 2007-08-09 03:39:31 +0000
+++ b/bzrlib/merge_directive.py 2007-08-10 22:19:18 +0000
@@ -511,10 +511,14 @@
class MergeDirectiveFormatRegistry(registry.Registry):
- def register(self, directive):
- registry.Registry.register(self, directive._format_string, directive)
+ def register(self, directive, format_string=None):
+ if format_string is None:
+ format_string = directive._format_string
+ registry.Registry.register(self, format_string, directive)
_format_registry = MergeDirectiveFormatRegistry()
_format_registry.register(MergeDirective)
_format_registry.register(MergeDirective2)
+_format_registry.register(MergeDirective2,
+ 'Bazaar merge directive format 2 (Bazaar 0.19)')
=== modified file 'bzrlib/tests/test_merge_directive.py'
--- a/bzrlib/tests/test_merge_directive.py 2007-08-09 03:39:31 +0000
+++ b/bzrlib/tests/test_merge_directive.py 2007-08-10 20:36:16 +0000
@@ -109,6 +109,45 @@
booga""".splitlines(True)
+INPUT1_2_OLD = """
+I was thinking today about creating a merge directive.
+
+So I did.
+
+Here it is.
+
+(I've pasted it in the body of this message)
+
+Aaron
+
+# Bazaar merge directive format 2 (Bazaar 0.19)\r
+# revision_id: example:
+# target_branch: http://example.com
+# testament_sha1: sha
+# timestamp: 1970-01-01 00:09:33 +0002
+# source_branch: http://example.org
+# base_revision_id: null:
+# message: Hi mom!
+#\x20
+# Begin patch
+booga""".splitlines(True)
+
+
+OLD_DIRECTIVE_2 = """# Bazaar merge directive format 2 (Bazaar 0.19)
+# revision_id: abentley at panoramicfeedback.com-20070807234458-\
+# nzhkoyza56lan7z5
+# target_branch: http://panoramicfeedback.com/opensource/bzr/repo\
+# /bzr.ab
+# testament_sha1: d825a5cdb267a90ec2ba86b00895f3d8a9bed6bf
+# timestamp: 2007-08-10 16:15:02 -0400
+# source_branch: http://panoramicfeedback.com/opensource/bzr/repo\
+# /bzr.ab
+# base_revision_id: abentley at panoramicfeedback.com-20070731163346-\
+# 623xwcycwij91xen
+#
+""".splitlines(True)
+
+
class TestMergeDirective(object):
def test_merge_source(self):
@@ -599,3 +638,18 @@
self.assertTrue(md2._verify_patch(tree_a.branch.repository))
md2.patch = md2.patch.replace('content_c', 'content_d')
self.assertFalse(md2._verify_patch(tree_a.branch.repository))
+
+
+class TestParseOldMergeDirective2(tests.TestCase):
+
+ def test_parse_old_merge_directive(self):
+ md = merge_directive.MergeDirective.from_lines(INPUT1_2_OLD)
+ self.assertEqual('example:', md.revision_id)
+ self.assertEqual('sha', md.testament_sha1)
+ self.assertEqual('http://example.com', md.target_branch)
+ self.assertEqual('http://example.org', md.source_branch)
+ self.assertEqual(453, md.time)
+ self.assertEqual(120, md.timezone)
+ self.assertEqual('booga', md.patch)
+ self.assertEqual('diff', md.patch_type)
+ self.assertEqual('Hi mom!', md.message)
More information about the bazaar-commits
mailing list