Rev 1870: Use base inventory only. in file:///data/jelmer/bzr-svn/trunk/

Jelmer Vernooij jelmer at samba.org
Mon Sep 8 22:41:49 BST 2008


At file:///data/jelmer/bzr-svn/trunk/

------------------------------------------------------------
revno: 1870
revision-id: jelmer at samba.org-20080908214147-g7svee4axmyfxgox
parent: jelmer at samba.org-20080908200816-aypejmb0wcltg60f
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Mon 2008-09-08 23:41:47 +0200
message:
  Use base inventory only.
modified:
  commit.py                      commit.py-20060607190346-qvq128wgfubhhgm2-1
  versionedfiles.py              versionedfiles.py-20080626134117-j8g0ntz1pj228iox-1
=== modified file 'commit.py'
--- a/commit.py	2008-09-08 20:08:16 +0000
+++ b/commit.py	2008-09-08 21:41:47 +0000
@@ -127,7 +127,7 @@
     """Commit Builder implementation wrapped around svn_delta_editor. """
 
     def __init__(self, repository, branch_path, parents, config, timestamp, 
-                 timezone, committer, revprops, revision_id, parent_invs=None,
+                 timezone, committer, revprops, revision_id, old_inv=None,
                  push_metadata=True, graph=None, opt_signature=None,
                  texts=None, append_revisions_only=True):
         """Instantiate a new SvnCommitBuilder.
@@ -177,15 +177,12 @@
             self._base_revmeta = self.repository._revmeta_provider.get_revision(self.base_path, self.base_revnum)
             self._base_branch_props = self._base_revmeta.get_fileprops()
 
-        if parent_invs is None:
-            self.parent_invs = [self.repository.get_inventory(parent) for parent in parents]
-        else:
-            self.parent_invs = parent_invs
-
         if self.base_revid == NULL_REVISION:
             self.old_inv = Inventory(root_id=None)
+        elif old_inv is None:
+            self.old_inv = self.repository.get_inventory(self.base_revid)
         else:
-            self.old_inv = self.parent_invs[0]
+            self.old_inv = old_inv
 
         # Not all repositories appear to set Inventory.revision_id, 
         # so allow None as well.
@@ -808,13 +805,16 @@
     except NoSuchRevision:
         opt_signature = None
 
-    parent_trees = source_repo.revision_trees(rev.parent_ids)
+    if base_revids == rev.parent_ids:
+        parent_trees = [base_tree]
+    else:
+        parent_trees = source_repo.revision_trees(rev.parent_ids)
 
     builder = SvnCommitBuilder(target_repo, branch_path, base_revids,
                                config, rev.timestamp,
                                rev.timezone, rev.committer, rev.properties, 
                                revision_id, 
-                               [t.inventory for t in parent_trees], 
+                               base_tree.inventory,
                                push_metadata=push_metadata,
                                graph=graph, opt_signature=opt_signature,
                                texts=source_repo.texts,

=== modified file 'versionedfiles.py'
--- a/versionedfiles.py	2008-09-01 13:53:06 +0000
+++ b/versionedfiles.py	2008-09-08 21:41:47 +0000
@@ -78,6 +78,8 @@
         ret = {}
         for (fileid, revid) in keys:
             # FIXME: Evil hack
+            # TODO: find revision revid, call import_text_revisions
+            # and retrieve parents for fileid
             ret[(fileid, revid)] = None
         return ret
 




More information about the bazaar-commits mailing list