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