At http://bzr.arbash-meinel.com/branches/bzr/1.11/differ_serializer
------------------------------------------------------------
revno: 3885
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: John Arbash Meinel <[EMAIL PROTECTED]>
branch nick: differ_serializer
timestamp: Fri 2008-12-05 16:18:09 -0600
message:
Bring in Inventory._make_delta
=== modified file 'bzrlib/inventory.py'
--- a/bzrlib/inventory.py 2008-08-09 00:45:30 +0000
+++ b/bzrlib/inventory.py 2008-12-05 22:18:09 +0000
@@ -1233,9 +1233,27 @@
def has_id(self, file_id):
return (file_id in self._byid)
+ def _make_delta(self, old):
+ """Make an inventory delta from two inventories."""
+ old_ids = set(old)
+ new_ids = set(self)
+ adds = new_ids - old_ids
+ deletes = old_ids - new_ids
+ common = old_ids.intersection(new_ids)
+ delta = []
+ for file_id in deletes:
+ delta.append((old.id2path(file_id), None, file_id, None))
+ for file_id in adds:
+ delta.append((None, self.id2path(file_id), file_id, self[file_id]))
+ for file_id in common:
+ if old[file_id] != self[file_id]:
+ delta.append((old.id2path(file_id), self.id2path(file_id),
+ file_id, self[file_id]))
+ return delta
+
def remove_recursive_id(self, file_id):
"""Remove file_id, and children, from the inventory.
-
+
:param file_id: A file_id to remove.
"""
to_find_delete = [self._byid[file_id]]
--
bazaar-commits mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/bazaar-commits