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