Rev 2106: More formatting improvements. in http://people.samba.org/bzr/jelmer/bzr-svn/0.5

Jelmer Vernooij jelmer at samba.org
Sun Nov 30 17:02:05 GMT 2008


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

------------------------------------------------------------
revno: 2106
revision-id: jelmer at samba.org-20081130170203-y19plpx3pn28cjop
parent: jelmer at samba.org-20081130170154-0tp3mi5imm652f1s
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.5
timestamp: Sun 2008-11-30 18:02:03 +0100
message:
  More formatting improvements.
modified:
  revmeta.py                     revmeta.py-20080901215045-n8a6arqybs9ez5hl-1
=== modified file 'revmeta.py'
--- a/revmeta.py	2008-11-30 15:28:28 +0000
+++ b/revmeta.py	2008-11-30 17:02:03 +0000
@@ -126,12 +126,15 @@
         if self._paths is None:
             self._paths = self._log.get_revision_paths(self.revnum)
         if mapping is not None and mapping.restricts_branch_paths:
-            next = changes.find_prev_location(self._paths, self.branch_path, self.revnum)
+            next = changes.find_prev_location(self._paths, self.branch_path, 
+                                              self.revnum)
             if next is not None and not mapping.is_branch_or_tag(next[0]):
-                # Make it look like the branch started here if the mapping (anything < v4)
-                # restricts what paths can be valid branches
+                # Make it look like the branch started here if the mapping 
+                # (anything < v4) restricts what paths can be valid branches
                 paths = dict(self._paths.items())
-                lazypaths = logwalker.lazy_dict(paths, full_paths, self.repository._log.find_children, paths, self.branch_path, next[0], next[1])
+                lazypaths = logwalker.lazy_dict(paths, full_paths, 
+                    self.repository._log.find_children, paths, 
+                    self.branch_path, next[0], next[1])
                 paths[self.branch_path] = ('A', None, -1)
                 return lazypaths
         return self._paths
@@ -141,7 +144,8 @@
         """
         if mapping.roundtripping:
             # See if there is a bzr:revision-id revprop set
-            (_, revid) = mapping.get_revision_id(self.branch_path, self.get_revprops(), self.get_changed_fileprops())
+            (_, revid) = mapping.get_revision_id(self.branch_path, 
+                self.get_revprops(), self.get_changed_fileprops())
         else:
             revid = None
 
@@ -235,9 +239,15 @@
                 return self._direct_lhs_parent_revmeta
             except MetabranchHistoryIncomplete:
                 pass
-        # FIXME: Don't use self.repository.branch_prev_location,
-        #        since it browses history
-        self._direct_lhs_parent_revmeta = self.repository._revmeta_provider.branch_prev_location(self)
+        # FIXME: Don't use iter_reverse_branch_changes since it browses history
+        iterator = self.repository._revmeta_provider.iter_reverse_branch_changes(self.branch_path, 
+            self.revnum, to_revnum=0, mapping=None, limit=2)
+        firstrevmeta = iterator.next()
+        assert self == firstrevmeta
+        try:
+            self._direct_lhs_parent_revmeta = iterator.next()
+        except StopIteration:
+            self._direct_lhs_parent_revmeta = None
         return self._direct_lhs_parent_revmeta
 
     def get_lhs_parent_revmeta(self, mapping):
@@ -320,6 +330,12 @@
         return is_bzr_revision_fileprops(self.get_changed_fileprops())
 
     def is_changes_root(self):
+        """Check whether this revisions root is the root of the changes 
+        in this svn revision.
+        
+        This is a requirement for revisions pushed with bzr-svn using 
+        file properties.
+        """
         return changes.changes_root(self.get_paths()) == self.branch_path
 
     def is_hidden(self, mapping):
@@ -332,8 +348,9 @@
         return False
 
     def is_bzr_revision(self):
-        """Determine (with as few network requests as possible) if this is a bzr revision.
+        """Determine if this is a bzr revision.
 
+        Optimized to use as few network requests as possible.
         """
         if self._is_bzr_revision is not None:
             return self._is_bzr_revision
@@ -388,8 +405,7 @@
         """
         if mapping.roundtripping:
             (bzr_revno, _) = mapping.get_revision_id(self.branch_path, 
-                                                     self.get_revprops(), 
-                                                     self.get_changed_fileprops())
+                self.get_revprops(), self.get_changed_fileprops())
             if bzr_revno is not None:
                 return bzr_revno
         return None
@@ -469,7 +485,8 @@
 
     def get_roundtrip_ancestor_revids(self):
         if not self.consider_bzr_fileprops():
-            # This revisions descendant doesn't have bzr fileprops set, so this one can't have them either.
+            # This revisions descendant doesn't have bzr fileprops set, so 
+            # this one can't have them either.
             return iter([])
         return iter(get_roundtrip_ancestor_revids(self.get_fileprops()))
 
@@ -499,7 +516,8 @@
         if self._revid is not None:
             return self._revid
 
-        self._revid = super(CachingRevisionMetadata, self).get_revision_id(mapping)
+        self._revid = super(CachingRevisionMetadata, self).get_revision_id(
+            mapping)
 
         self._revid_cache.insert_revid(self._revid, self.branch_path, 
                                        self.revnum, self.revnum, mapping.name)
@@ -515,7 +533,8 @@
             if parent_ids is not None:
                 return parent_ids
 
-        parent_ids = super(CachingRevisionMetadata, self).get_parent_ids(mapping)
+        parent_ids = super(CachingRevisionMetadata, self).get_parent_ids(
+            mapping)
 
         self._parents_cache.insert_parents(myrevid, parent_ids)
 
@@ -577,6 +596,7 @@
         return ListBuildingIterator(self._revs, self.next)
 
     def fetch_until(self, revnum):
+        """Fetch at least all revisions until revnum."""
         while len(self._revnums) == 0 or self._revnums[0] > revnum:
             try:
                 self.next()
@@ -659,7 +679,7 @@
         self._actions = []
         self._iter = iter(self.do(project, pb))
 
-    def get_metabranch(self, bp):
+    def _get_metabranch(self, bp):
         if not bp in self._metabranches:
             self._metabranches[bp] = RevisionMetadataBranch()
             self._metabranches[bp]._get_next = partial(self._branch_next, 
@@ -714,10 +734,10 @@
                     pass
                 else:
                     if action != 'D' or ip != "":
-                        bps[bp] = self.get_metabranch(bp)
+                        bps[bp] = self._get_metabranch(bp)
                 for u in unusual:
                     if p.startswith("%s/" % u):
-                        bps[u] = self.get_metabranch(u)
+                        bps[u] = self._get_metabranch(u)
                 if action in ('R', 'D') and (
                     self.layout.is_branch_or_tag(p, project) or 
                     self.layout.is_branch_or_tag_parent(p, project)):
@@ -738,20 +758,21 @@
                         self._metabranches[new_name].finished = True
                         del self._metabranches[new_name]
                 else:
-                    data = self.get_metabranch(new_name)
+                    data = self._get_metabranch(new_name)
                     del self._metabranches[new_name]
                     metabranches_history.setdefault(old_rev, {})[old_name] = data
                     if not self.layout.is_branch_or_tag(old_name, project):
                         unusual_history.setdefault(old_rev, set()).add(old_name)
 
             for bp in bps:
-                revmeta = self._provider.get_revision(bp, revnum, paths, revprops, metabranch=bps[bp])
+                revmeta = self._provider.get_revision(bp, revnum, paths, 
+                    revprops, metabranch=bps[bp])
                 bps[bp].append(revmeta)
                 yield "revision", revmeta
     
         # Make sure commit 0 is processed
         if self.to_revnum == 0 and self.layout.is_branch_or_tag("", project):
-            bps[""] = self.get_metabranch("")
+            bps[""] = self._get_metabranch("")
             revmeta = self._provider.get_revision("", 0, {"": ('A', None, -1)}, {}, metabranch=bps[""])
             bps[""].finished = True
             yield "revision", revmeta
@@ -850,17 +871,9 @@
                 bp = next[0]
 
     def get_mainline(self, branch_path, revnum, mapping, pb=None):
-        """Get a list with all the RevisionMetadata elements on a branch mainline."""
-        return list(self.iter_reverse_branch_changes(branch_path, revnum, to_revnum=0, mapping=mapping, pb=pb))
-
-    def branch_prev_location(self, revmeta):
-        iterator = self.iter_reverse_branch_changes(revmeta.branch_path, revmeta.revnum, to_revnum=0, mapping=None, limit=2)
-        firstrevmeta = iterator.next()
-        assert revmeta == firstrevmeta
-        try:
-            return iterator.next()
-        except StopIteration:
-            return None
+        """Get a list with all the revisions elements on a branch mainline."""
+        return list(self.iter_reverse_branch_changes(branch_path, revnum, 
+            to_revnum=0, mapping=mapping, pb=pb))
 
     def iter_reverse_branch_changes(self, branch_path, from_revnum, to_revnum, 
                                     mapping=None, pb=None, limit=0):
@@ -869,10 +882,13 @@
 
         :return: iterator that returns RevisionMetadata objects.
         """
-        assert mapping is None or mapping.is_branch_or_tag(branch_path)
+        if mapping is None:
+            check_unusual_path = lambda x: True
+        else:
+            check_unusual_path = mapping.is_branch_or_tag
+        assert check_unusual_path(branch_path)
         history_iter = self.iter_changes(branch_path, from_revnum, 
-                                              to_revnum, pb=pb, 
-                                              limit=limit)
+                                         to_revnum, pb=pb, limit=limit)
         def convert((bp, paths, revnum, revprops)):
             ret = self.get_revision(bp, revnum, paths, revprops, 
                                     metabranch=metabranch)
@@ -881,8 +897,9 @@
         metabranch = RevisionMetadataBranch(self, limit)
         metabranch._get_next = imap(convert, history_iter).next
         self._open_metabranches.append(metabranch)
+
         for ret in metabranch:
-            if mapping is not None and not mapping.is_branch_or_tag(ret.branch_path):
+            if not check_unusual_path(ret.branch_path):
                 break
             yield ret
 




More information about the bazaar-commits mailing list