Rev 2013: Use target_is_empty when fetching all revisions. in file:///data/jelmer/bzr-svn/0.5/

Jelmer Vernooij jelmer at samba.org
Tue Nov 18 03:39:36 GMT 2008


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

------------------------------------------------------------
revno: 2013
revision-id: jelmer at samba.org-20081118033934-lzw2d6e1marwaceg
parent: jelmer at samba.org-20081118015417-xje6n7wzahsof9ct
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.5
timestamp: Tue 2008-11-18 04:39:34 +0100
message:
  Use target_is_empty when fetching all revisions.
modified:
  fetch.py                       fetch.py-20060625004942-x2lfaib8ra707a8p-1
  revmeta.py                     revmeta.py-20080901215045-n8a6arqybs9ez5hl-1
=== modified file 'fetch.py'
--- a/fetch.py	2008-11-18 01:06:30 +0000
+++ b/fetch.py	2008-11-18 03:39:34 +0000
@@ -664,7 +664,7 @@
     def _get_repo_format_to_test():
         return None
 
-    def _find_all(self, mapping, pb=None):
+    def _find_all(self, mapping, pb=None, target_is_empty=False):
         """Find all revisions from the source repository that are not 
         yet in the target repository.
         """
@@ -677,7 +677,10 @@
             revid = revmeta.get_revision_id(mapping)
             available_revs.add(revid)
             meta_map[revid] = revmeta
-        missing = available_revs.difference(self.target.has_revisions(available_revs))
+        if target_is_empty:
+            missing = available_revs
+        else:
+            missing = available_revs.difference(self.target.has_revisions(available_revs))
         needed = list(graph.iter_topo_order(missing))
         return [(meta_map[revid], mapping) for revid in needed]
 
@@ -851,14 +854,16 @@
         try:
             nested_pb = ui.ui_factory.nested_progress_bar()
             try:
+                # FIXME: Specify target_is_empty
+                target_is_empty = False
                 if revmetas is not None:
                     needed = [(revmeta, mapping) for revmeta in revmetas]
                 elif revision_id is None:
-                    needed = self._find_all(self.source.get_mapping(), pb=nested_pb)
+                    needed = self._find_all(self.source.get_mapping(), pb=nested_pb, target_is_empty=target_is_empty)
                 else:
                     foreign_revid, mapping = self.source.lookup_revision_id(revision_id)
                     # FIXME: Specify target_is_empty
-                    needed = self._find_until(foreign_revid, mapping, find_ghosts, pb=nested_pb)
+                    needed = self._find_until(foreign_revid, mapping, find_ghosts, pb=nested_pb, target_is_empty=target_is_empty)
             finally:
                 nested_pb.finished()
 

=== modified file 'revmeta.py'
--- a/revmeta.py	2008-11-17 16:01:46 +0000
+++ b/revmeta.py	2008-11-18 03:39:34 +0000
@@ -94,7 +94,7 @@
                 self.uuid == other.uuid)
 
     def __repr__(self):
-        return "<RevisionMetadata for revision %d in repository %s>" % (self.revnum, repr(self.uuid))
+        return "<RevisionMetadata for revision %d, path %s in repository %s>" % (self.revnum, self.branch_path, repr(self.uuid))
 
     def changes_branch_root(self):
         """Check whether the branch root was modified in this revision.




More information about the bazaar-commits mailing list