Rev 2116: Simplify handling of finished branches. in http://people.samba.org/bzr/jelmer/bzr-svn/0.5

Jelmer Vernooij jelmer at samba.org
Sun Nov 30 23:39:21 GMT 2008


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

------------------------------------------------------------
revno: 2116
revision-id: jelmer at samba.org-20081130233919-0vaer5b7un7hhs9c
parent: jelmer at samba.org-20081130232728-r0hhlpwq3t6747bi
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.5
timestamp: Mon 2008-12-01 00:39:19 +0100
message:
  Simplify handling of finished branches.
modified:
  revmeta.py                     revmeta.py-20080901215045-n8a6arqybs9ez5hl-1
=== modified file 'revmeta.py'
--- a/revmeta.py	2008-11-30 23:27:28 +0000
+++ b/revmeta.py	2008-11-30 23:39:19 +0000
@@ -225,6 +225,12 @@
                 self._changed_fileprops = {}
         return self._changed_fileprops
 
+    def _set_direct_lhs_parent_revmeta(self, parent_revmeta):
+        assert (not self._direct_lhs_parent_known or 
+                self._direct_lhs_parent_revmeta == parent_revmeta)
+        self._direct_lhs_parent_known = True
+        self._direct_lhs_parent_revmeta = parent_revmeta
+
     def get_direct_lhs_parent_revmeta(self):
         """Find the direct left hand side parent of this revision.
         
@@ -596,7 +602,6 @@
         self._history_limit = history_limit
         self._revmeta_provider = revmeta_provider
         self._get_next = None
-        self.finished = False
 
     def __repr__(self):
         return "<RevisionMetadataBranch starting at %s revision %d>" % (self._revs[0].branch_path, self._revs[0].revnum)
@@ -622,7 +627,6 @@
         try:
             ret = self._get_next()
         except StopIteration:
-            self.finished = True
             raise
         return ret
 
@@ -704,8 +708,7 @@
                 children.add(mb._revs[-1])
             mb.append(revmeta)
             for c in children:
-                c._direct_lhs_parent_known = True
-                c._direct_lhs_parent_revmeta = revmeta
+                c._set_direct_lhs_parent_revmeta(revmeta)
             revmeta.children.update(children)
             return revmeta
 
@@ -751,7 +754,7 @@
                 if old_name is None: 
                     # didn't exist previously
                     if new_name in self._metabranches:
-                        self._metabranches[new_name].finished = True
+                        self._metabranches[new_name]._set_direct_lhs_parent_revmeta(None)
                         del self._metabranches[new_name]
                 else:
                     data = self._metabranches[new_name]
@@ -770,7 +773,7 @@
         # Make sure commit 0 is processed
         if self.to_revnum == 0 and self.layout.is_branch_or_tag("", project):
             revmeta = process_new_rev("", self._metabranches[""], 0, changes.REV0_CHANGES, {})
-            self._metabranches[""].finished = True
+            self._metabranches[""]._set_direct_lhs_parent_revmeta(None)
             yield "revision", revmeta
             self._last_revnum = 0
 




More information about the bazaar-commits mailing list