Rev 2001: Avoid fetching parents unless necessary. in file:///data/jelmer/bzr-svn/0.5/
Jelmer Vernooij
jelmer at samba.org
Mon Nov 17 15:57:26 GMT 2008
At file:///data/jelmer/bzr-svn/0.5/
------------------------------------------------------------
revno: 2001
revision-id: jelmer at samba.org-20081117155723-5r0slbp4hd979fb0
parent: jelmer at samba.org-20081117034838-plrfw6mlnuxe7btu
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.5
timestamp: Mon 2008-11-17 16:57:23 +0100
message:
Avoid fetching parents unless necessary.
modified:
fetch.py fetch.py-20060625004942-x2lfaib8ra707a8p-1
=== modified file 'fetch.py'
--- a/fetch.py 2008-11-17 03:48:38 +0000
+++ b/fetch.py 2008-11-17 15:57:23 +0000
@@ -180,6 +180,7 @@
class DirectoryRevisionBuildEditor(DirectoryBuildEditor):
def __init__(self, editor, path, old_id, new_id, parent_revids=[]):
super(DirectoryRevisionBuildEditor, self).__init__(editor, path)
+ assert isinstance(new_id, str)
self.old_id = old_id
self.new_id = new_id
self.parent_revids = parent_revids
@@ -413,6 +414,8 @@
file_id = self._get_id_map().get("", old_file_id)
file_parents = [self.old_inventory.root.revision]
+ assert isinstance(file_id, str)
+
if self.inventory.root is not None and \
file_id == self.inventory.root.file_id:
ie = self.inventory.root
@@ -619,13 +622,12 @@
if revmeta.is_hidden(mapping):
continue
revid = revmeta.get_revision_id(mapping)
- parent_ids = revmeta.get_parent_ids(mapping)
if revid in checked:
# This revision (and its ancestry) has already been checked
break
- extra.extend([(p, project) for p in parent_ids[1:]])
if not self.target.has_revision(revid):
revmetas.append(revmeta)
+ extra.extend([(p, project) for p in revmeta.get_rhs_parents(mapping)])
elif not find_ghosts:
break
checked.add(revid)
More information about the bazaar-commits
mailing list