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