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