Rev 3169: Failure cases for parsing tree references in entries. in http://people.ubuntu.com/~robertc/baz2.0/inventory.journalled

Robert Collins robertc at robertcollins.net
Thu Jan 3 23:06:31 GMT 2008


At http://people.ubuntu.com/~robertc/baz2.0/inventory.journalled

------------------------------------------------------------
revno: 3169
revision-id:robertc at robertcollins.net-20080103230626-71rwt9wb1er9hhan
parent: robertc at robertcollins.net-20080103230401-uq4j501h7v8lwuj5
committer: Robert Collins <robertc at robertcollins.net>
branch nick: inventory.journalled
timestamp: Fri 2008-01-04 10:06:26 +1100
message:
  Failure cases for parsing tree references in entries.
modified:
  bzrlib/journalled_inventory.py journalled_inventory-20080103020931-0ht5n40kwc0p7fy1-1
  bzrlib/tests/test_journalled_inv.py test_journalled_inv.-20080103012121-ny2w9slze5jgty8i-1
=== modified file 'bzrlib/journalled_inventory.py'
--- a/bzrlib/journalled_inventory.py	2008-01-03 23:04:01 +0000
+++ b/bzrlib/journalled_inventory.py	2008-01-03 23:06:26 +0000
@@ -190,6 +190,8 @@
                 elif not self._versioned_root and (last_modified != 'null:' or 
                     file_id != 'TREE_ROOT'):
                     raise errors.BzrError("Versioned root found: %r" % line)
+            if not self._tree_references and content.startswith('tree\x00'):
+                raise errors.BzrError("Tree reference found: %r" % line)
         if len(by_id) + 2 != len(lines):
             raise errors.BzrError(
                 "duplicate file id in journal entry %r" % lines)

=== modified file 'bzrlib/tests/test_journalled_inv.py'
--- a/bzrlib/tests/test_journalled_inv.py	2008-01-03 23:04:01 +0000
+++ b/bzrlib/tests/test_journalled_inv.py	2008-01-03 23:06:26 +0000
@@ -287,6 +287,12 @@
         self.assertRaises(errors.BzrError,
             journal.parse_text_bytes, root_only_unversioned)
 
+    def test_parse_tree_when_disabled(self):
+        journal = journalled_inventory.InventoryJournal(versioned_root=True,
+            tree_references=False)
+        self.assertRaises(errors.BzrError,
+            journal.parse_text_bytes, reference_lines)
+
 
 class TestContent(TestCase):
 



More information about the bazaar-commits mailing list