Rev 2069: Make iter_all_changes() ready to return other changes than revisions. in http://people.samba.org/bzr/jelmer/bzr-svn/0.5

Jelmer Vernooij jelmer at samba.org
Mon Nov 24 23:20:29 GMT 2008


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

------------------------------------------------------------
revno: 2069
revision-id: jelmer at samba.org-20081124232027-kogzqdcurj1inh6l
parent: jelmer at samba.org-20081124225231-c2hczk4le71eeoja
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.5
timestamp: Tue 2008-11-25 00:20:27 +0100
message:
  Make iter_all_changes() ready to return other changes than revisions.
modified:
  convert.py                     svn2bzr.py-20051018015439-cb4563bff29e632d
  fetch.py                       fetch.py-20060625004942-x2lfaib8ra707a8p-1
  repository.py                  repository.py-20060306123302-1f8c5069b3fe0265
  revids.py                      revids.py-20070416220458-36vfa0730cchevp1-1
  revmeta.py                     revmeta.py-20080901215045-n8a6arqybs9ez5hl-1
=== modified file 'convert.py'
--- a/convert.py	2008-11-24 22:52:31 +0000
+++ b/convert.py	2008-11-24 23:20:27 +0000
@@ -206,7 +206,7 @@
         existing_branches = {}
         pb = ui.ui_factory.nested_progress_bar()
         try:
-            for revmeta in source_repos._revmeta_provider.iter_all_changes(layout, mapping.is_branch_or_tag,
+            for kind, revmeta in source_repos._revmeta_provider.iter_all_changes(layout, mapping.is_branch_or_tag,
                                                                    to_revnum, from_revnum,
                                                                    project=project):
                 pb.update("determining revisions to fetch", to_revnum-revmeta.revnum, to_revnum)

=== modified file 'fetch.py'
--- a/fetch.py	2008-11-24 22:52:31 +0000
+++ b/fetch.py	2008-11-24 23:20:27 +0000
@@ -679,7 +679,7 @@
         """
         needed = []
         from_revnum = self.source.get_latest_revnum()
-        for revmeta in self.source._revmeta_provider.iter_all_changes(self.source.get_layout(), check_unusual_path=mapping.is_branch_or_tag, from_revnum=from_revnum, pb=pb):
+        for kind, revmeta in self.source._revmeta_provider.iter_all_changes(self.source.get_layout(), check_unusual_path=mapping.is_branch_or_tag, from_revnum=from_revnum, pb=pb):
             #FIXME: mapping = revmeta.get_appropriate_mapping(mapping)
             if pb:
                 pb.update("determining revisions to fetch", 

=== modified file 'repository.py'
--- a/repository.py	2008-11-24 22:24:16 +0000
+++ b/repository.py	2008-11-24 23:20:27 +0000
@@ -400,7 +400,7 @@
             mapping = self.get_mapping()
         if layout is None:
             layout = self.get_layout()
-        for revmeta in self._revmeta_provider.iter_all_changes(layout, mapping.is_branch_or_tag, self.get_latest_revnum()):
+        for revmeta in self._revmeta_provider.iter_all_revisions(layout, mapping.is_branch_or_tag, self.get_latest_revnum()):
             if revmeta.is_hidden(mapping):
                 continue
             yield revmeta.get_revision_id(mapping)
@@ -557,7 +557,7 @@
         """
         if self.transport.has_capability("commit-revprops") == False:
             return False
-        for revmeta in self._revmeta_provider.iter_all_changes(self.get_layout(), None, self.get_latest_revnum()):
+        for revmeta in self._revmeta_provider.iter_all_revisions(self.get_layout(), None, self.get_latest_revnum()):
             if revmeta.is_bzr_revision_revprops():
                 return True
         return False

=== modified file 'revids.py'
--- a/revids.py	2008-11-24 20:30:08 +0000
+++ b/revids.py	2008-11-24 23:20:27 +0000
@@ -75,7 +75,7 @@
         """
         if self.repos.transport.has_capability("log-revprops") != True:
             return
-        for revmeta in self.repos._revmeta_provider.iter_all_changes(layout, None, from_revnum, to_revnum):
+        for revmeta in self.repos._revmeta_provider.iter_all_revisions(layout, None, from_revnum, to_revnum):
             if is_bzr_revision_revprops(revmeta.get_revprops()):
                 mapping = find_mapping(revmeta.get_revprops(), {})
                 revid = revmeta.get_revision_id(mapping)

=== modified file 'revmeta.py'
--- a/revmeta.py	2008-11-24 22:24:16 +0000
+++ b/revmeta.py	2008-11-24 23:20:27 +0000
@@ -45,6 +45,7 @@
         )
 
 import bisect
+from itertools import ifilter
 
 class MetabranchHistoryIncomplete(Exception):
     """No revision metadata branch."""
@@ -691,6 +692,11 @@
                 break
             yield ret
 
+    def iter_all_revisions(self, layout, check_unusual_path, from_revnum, to_revnum=0, project=None, pb=None):
+        for kind, rev in self.iter_all_changes(layout, check_unusual_path, from_revnum, to_revnum, project, pb):
+            if kind == "revision":
+                yield rev
+
     def iter_all_changes(self, layout, check_unusual_path, from_revnum, to_revnum=0, 
                          project=None, pb=None):
         """Iterate over all RevisionMetadata objects in a repository.
@@ -757,10 +763,10 @@
             for bp in bps:
                 revmeta = self.get_revision(bp, revnum, paths, revprops, metabranch=bps[bp])
                 bps[bp].append(revmeta)
-                yield revmeta
+                yield "revision", revmeta
     
         # Make sure commit 0 is processed
         if to_revnum == 0 and layout.is_branch_or_tag("", project):
             bps[""] = get_metabranch("")
             revmeta = self.get_revision("", 0, {"": ('A', None, -1)}, {}, metabranch=bps[""])
-            yield revmeta
+            yield "revision", revmeta




More information about the bazaar-commits mailing list