Rev 2015: Use checked revision cache when fetching all revisions. in file:///data/jelmer/bzr-svn/0.5/

Jelmer Vernooij jelmer at samba.org
Tue Nov 18 04:13:26 GMT 2008


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

------------------------------------------------------------
revno: 2015
revision-id: jelmer at samba.org-20081118041324-15w2fqfodt95uggm
parent: jelmer at samba.org-20081118040540-5pdtp6qrajmfuhph
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.5
timestamp: Tue 2008-11-18 05:13:24 +0100
message:
  Use checked revision cache when fetching all revisions.
modified:
  fetch.py                       fetch.py-20060625004942-x2lfaib8ra707a8p-1
=== modified file 'fetch.py'
--- a/fetch.py	2008-11-18 04:05:40 +0000
+++ b/fetch.py	2008-11-18 04:13:24 +0000
@@ -668,6 +668,7 @@
         """Find all revisions from the source repository that are not 
         yet in the target repository.
         """
+        checked = set()
         meta_map = {}
         needed = []
         for revmeta in self.source._revmeta_provider.iter_all_changes(self.source.get_layout(), mapping=mapping, from_revnum=self.source.get_latest_revnum(), pb=pb):
@@ -680,10 +681,10 @@
         ret.reverse()
         for revmeta, mapping in reversed(needed):
             lhs_parent_revmeta = revmeta.get_lhs_parent_revmeta(mapping)
-            if lhs_parent_revmeta is None:
-                continue
-            if not (lhs_parent_revmeta, mapping) in needed:
-                ret = self._find_until(revmeta.get_foreign_revid(), mapping) + ret
+            if (lhs_parent_revmeta is not None and 
+                not (lhs_parent_revmeta, mapping) in needed):
+                ret = self._find_until(revmeta.get_foreign_revid(), mapping, checked=checked, target_is_empty=target_is_empty) + ret
+            checked.add((revmeta, mapping))
 
         return ret
 




More information about the bazaar-commits mailing list