Rev 2147: Only use create_by_apply_delta if available. in http://people.samba.org/bzr/jelmer/bzr-svn/0.5

Jelmer Vernooij jelmer at samba.org
Wed Dec 3 20:37:01 GMT 2008


At http://people.samba.org/bzr/jelmer/bzr-svn/0.5

------------------------------------------------------------
revno: 2147
revision-id: jelmer at samba.org-20081203203659-orbep0066qytof0d
parent: jelmer at samba.org-20081203201041-otnbajmx7fu3qkfu
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.5
timestamp: Wed 2008-12-03 21:36:59 +0100
message:
  Only use create_by_apply_delta if available.
modified:
  fetch.py                       fetch.py-20060625004942-x2lfaib8ra707a8p-1
=== modified file 'fetch.py'
--- a/fetch.py	2008-12-03 20:10:41 +0000
+++ b/fetch.py	2008-12-03 20:36:59 +0000
@@ -489,8 +489,14 @@
         rev = self.revmeta.get_revision(self.mapping)
         # Escaping the commit message is really the task of the serialiser
         rev.message = escape_commit_message(rev.message)
+        if getattr(self.old_inventory, "create_by_apply_delta", None) is not None:
+            self.inventory = self.old_inventory.create_by_apply_delta(self._inv_delta, rev.revision_id)
+        else:
+            self.inventory = self.old_inventory
+            self.inventory.apply_delta(self._inv_delta)
+            self.inventory.revision_id = rev.revision_id
+
         if getattr(self.target, "add_inventory_delta", None) is not None:
-            self.inventory = self.old_inventory.create_by_apply_delta(self._inv_delta, rev.revision_id)
             try:
                 basis_id = rev.parent_ids[0]
             except IndexError:
@@ -499,9 +505,6 @@
                                   self._inv_delta, rev.revision_id,
                                   [r for r in rev.parent_ids if self.target.has_revision(r)])
         else:
-            self.inventory = self.old_inventory
-            self.inventory.apply_delta(self._inv_delta)
-            self.inventory.revision_id = rev.revision_id
             rev.inventory_sha1 = self.target.add_inventory(rev.revision_id, 
                     self.inventory, rev.parent_ids)
         self.target.add_revision(self.revid, rev)




More information about the bazaar-commits mailing list