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