Rev 2161: Make get_appropriate_mapping return the lhs parent mapping too. in http://people.samba.org/bzr/jelmer/bzr-svn/0.5

Jelmer Vernooij jelmer at samba.org
Fri Dec 5 01:40:23 GMT 2008


At http://people.samba.org/bzr/jelmer/bzr-svn/0.5

------------------------------------------------------------
revno: 2161
revision-id: jelmer at samba.org-20081205014020-p0t575z6c6ev97go
parent: jelmer at samba.org-20081205013953-1kfjtht4omoucia5
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.5
timestamp: Fri 2008-12-05 02:40:20 +0100
message:
  Make get_appropriate_mapping return the lhs parent mapping too.
modified:
  branch.py                      svnbranch.py-20051017135706-11c749eb0dab04a7
  fetch.py                       fetch.py-20060625004942-x2lfaib8ra707a8p-1
  revmeta.py                     revmeta.py-20080901215045-n8a6arqybs9ez5hl-1
=== modified file 'branch.py'
--- a/branch.py	2008-12-04 15:07:45 +0000
+++ b/branch.py	2008-12-05 01:40:20 +0000
@@ -324,6 +324,7 @@
         if is_null(revision_id):
             return 0
         revmeta_history = self._revision_meta_history()
+        # FIXME: Maybe we can parse revision_id as a bzr-svn roundtripped revision?
         for revmeta in revmeta_history:
             if revmeta.get_revision_id(self.mapping) == revision_id:
                 return len(revmeta_history) - revmeta_history.index(revmeta) - revmeta.get_hidden_lhs_ancestors_count(self.mapping)

=== modified file 'fetch.py'
--- a/fetch.py	2008-12-04 21:05:07 +0000
+++ b/fetch.py	2008-12-05 01:40:20 +0000
@@ -705,7 +705,7 @@
         for i, revmeta in enumerate(iter):
             if pb is not None:
                 pb.update("checking revisions to fetch", i)
-            #FIXME: mapping = revmeta.get_appropriate_mapping(mapping)
+            #FIXME: (mapping, lhs_parent_mapping) = revmeta.get_appropriate_mapping(mapping)
             if self.needs_fetching(revmeta, mapping):
                 needed.appendleft((revmeta, mapping))
                 self.checked.add((revmeta.get_foreign_revid(), mapping))
@@ -742,7 +742,7 @@
                 if pb:
                     pb.update("determining revisions to fetch", 
                               revnum-revmeta.revnum, revnum)
-                mapping = revmeta.get_appropriate_mapping(mapping)
+                mapping, lhs_parent_mapping = revmeta.get_appropriate_mapping(mapping)
                 if (revmeta.get_foreign_revid(), mapping) in self.checked:
                     # This revision (and its ancestry) has already been checked
                     break
@@ -750,14 +750,15 @@
                     revmetas.appendleft((revmeta, mapping))
                     for p in revmeta.get_rhs_parents(mapping):
                         try:
-                            foreign_revid, mapping = self.source.lookup_revision_id(p, project=project)
+                            foreign_revid, rhs_mapping = self.source.lookup_revision_id(p, project=project)
                         except NoSuchRevision:
                             pass # Ghost
                         else:
-                            extra.append((foreign_revid, project, mapping))
+                            extra.append((foreign_revid, project, rhs_mapping))
                 elif not find_ghosts:
                     break
                 self.checked.add((revmeta.get_foreign_revid(), mapping))
+                mapping = lhs_parent_mapping
             return revmetas
 
         needed = check_revid(foreign_revid, mapping, project)

=== modified file 'revmeta.py'
--- a/revmeta.py	2008-12-04 20:06:09 +0000
+++ b/revmeta.py	2008-12-05 01:40:20 +0000
@@ -299,16 +299,18 @@
             nm = get_next_parent(nm)
         return nm
 
-    def get_appropriate_mapping(self, newest_allowed):
+    def get_appropriate_mappings(self, newest_allowed):
         """Find the mapping that's most appropriate for this revision, 
         taking into account that it shouldn't be newer than 'max_mapping'.
 
+        :return: Tuple with mapping for current revmeta and mapping for 
+                 lhs parent revmeta
         """
         original = self.get_original_mapping()
         if original is not None:
             # TODO: Make sure original <= newest_allowed
-            return original
-        return newest_allowed
+            return (original, original)
+        return (newest_allowed, newest_allowed)
 
     def get_original_mapping(self):
         """Find the original mapping that was used to store this revision




More information about the bazaar-commits mailing list