Rev 3825: Actually format the inventories using line-based separation. in http://bzr.arbash-meinel.com/branches/bzr/brisbane/inv_as_lines

John Arbash Meinel john at arbash-meinel.com
Wed Feb 18 15:07:36 GMT 2009


At http://bzr.arbash-meinel.com/branches/bzr/brisbane/inv_as_lines

------------------------------------------------------------
revno: 3825
revision-id: john at arbash-meinel.com-20090218150723-k3zhtv074uzam033
parent: john at arbash-meinel.com-20090218145711-vp1n7ows6d4gx39k
committer: John Arbash Meinel <john at arbash-meinel.com>
branch nick: inv_as_lines
timestamp: Wed 2009-02-18 09:07:23 -0600
message:
  Actually format the inventories using line-based separation.
-------------- next part --------------
=== modified file 'bzrlib/inventory.py'
--- a/bzrlib/inventory.py	2009-01-21 23:04:50 +0000
+++ b/bzrlib/inventory.py	2009-02-18 15:07:23 +0000
@@ -1391,18 +1391,18 @@
                 exec_str = "Y"
             else:
                 exec_str = "N"
-            return "file: %s\x00%s\x00%s\x00%s\x00%s\x00%d\x00%s" % (
+            return "file: %s\n%s\n%s\n%s\n%s\n%d\n%s" % (
                 entry.file_id, parent_str, name_str, entry.revision,
                 entry.text_sha1, entry.text_size, exec_str)
         elif entry.kind == 'directory':
-            return "dir: %s\x00%s\x00%s\x00%s" % (
+            return "dir: %s\n%s\n%s\n%s" % (
                 entry.file_id, parent_str, name_str, entry.revision)
         elif entry.kind == 'symlink':
-            return "symlink: %s\x00%s\x00%s\x00%s\x00%s" % (
+            return "symlink: %s\n%s\n%s\n%s\n%s" % (
                 entry.file_id, parent_str, name_str, entry.revision,
                 entry.symlink_target.encode("utf8"))
         elif entry.kind == 'tree-reference':
-            return "tree: %s\x00%s\x00%s\x00%s\x00%s" % (
+            return "tree: %s\n%s\n%s\n%s\n%s" % (
                 entry.file_id, parent_str, name_str, entry.revision,
                 entry.reference_revision)
         else:
@@ -1410,7 +1410,7 @@
 
     def _bytes_to_entry(self, bytes):
         """Deserialise a serialised entry."""
-        sections = bytes.split('\x00')
+        sections = bytes.split('\n')
         if sections[0].startswith("file: "):
             result = InventoryFile(sections[0][6:],
                 sections[2].decode('utf8'),

=== modified file 'bzrlib/tests/test_inv.py'
--- a/bzrlib/tests/test_inv.py	2009-02-13 20:40:41 +0000
+++ b/bzrlib/tests/test_inv.py	2009-02-18 15:07:23 +0000
@@ -221,7 +221,7 @@
             'chkinventory:\n',
             'revision_id: foo\n',
             'root_id: TREE_ROOT\n',
-            'id_to_entry: sha1:f9734d8d315fda54c056bbbc814c192a22719480\n',
+            'id_to_entry: sha1:debfe920f1f10e7929260f0534ac9a24d7aabbb4\n',
             ], lines)
         chk_inv = CHKInventory.deserialise(chk_bytes, ''.join(lines), ('foo',))
         self.assertEqual('plain', chk_inv._search_key_name)
@@ -239,7 +239,7 @@
             'revision_id: foo\n',
             'root_id: TREE_ROOT\n',
             'parent_id_basename_to_file_id: sha1:eb23f0ad4b07f48e88c76d4c94292be57fb2785f\n',
-            'id_to_entry: sha1:f9734d8d315fda54c056bbbc814c192a22719480\n',
+            'id_to_entry: sha1:debfe920f1f10e7929260f0534ac9a24d7aabbb4\n',
             ], lines)
         chk_inv = CHKInventory.deserialise(chk_bytes, ''.join(lines), ('foo',))
         self.assertEqual('plain', chk_inv._search_key_name)
@@ -259,7 +259,7 @@
             'root_id: TREE_ROOT\n',
             'search_key_name: hash-16-way\n',
             'parent_id_basename_to_file_id: sha1:eb23f0ad4b07f48e88c76d4c94292be57fb2785f\n',
-            'id_to_entry: sha1:f9734d8d315fda54c056bbbc814c192a22719480\n',
+            'id_to_entry: sha1:debfe920f1f10e7929260f0534ac9a24d7aabbb4\n',
             ], lines)
         chk_inv = CHKInventory.deserialise(chk_bytes, ''.join(lines), ('foo',))
         self.assertEqual('hash-16-way', chk_inv._search_key_name)



More information about the bazaar-commits mailing list