At file:///data/jelmer/bzr-svn/0.5/
------------------------------------------------------------
revno: 2061
revision-id: [EMAIL PROTECTED]
parent: [EMAIL PROTECTED]
committer: Jelmer Vernooij <[EMAIL PROTECTED]>
branch nick: 0.5
timestamp: Mon 2008-11-24 04:10:12 +0100
message:
Fix iterating over all history when copies of history data have happened.
modified:
revmeta.py revmeta.py-20080901215045-n8a6arqybs9ez5hl-1
=== modified file 'revmeta.py'
--- a/revmeta.py 2008-11-21 17:37:03 +0000
+++ b/revmeta.py 2008-11-24 03:10:12 +0000
@@ -718,24 +718,31 @@
prefixes = layout.get_project_prefixes(project)
else:
prefixes = [""]
+ unusual_history = {}
+ metabranches_history = {}
unusual = set()
for (paths, revnum, revprops) in self._log.iter_changes(prefixes,
from_revnum, to_revnum, pb=pb):
bps = {}
if pb:
pb.update("discovering revisions", revnum, from_revnum-revnum)
+ metabranches.update(metabranches_history.get(revnum, {}))
+ unusual.update(unusual_history.get(revnum, set()))
+
for p in sorted(paths):
action = paths[p][0]
try:
(_, bp, ip) = layout.split_project_path(p, project)
except svn_errors.NotSvnBranchPath:
- for u in unusual:
- if p.startswith("%s/" % u):
- bps[u] = metabranches[u]
+ pass
else:
if action != 'D' or ip != "":
bps[bp] = get_metabranch(bp)
+ for u in unusual:
+ if p.startswith("%s/" % u):
+ bps[u] = get_metabranch(u)
+
# Apply renames and the like for the next round
for new_name, old_name, old_rev in
changes.apply_reverse_changes(metabranches.keys(), paths):
@@ -748,9 +755,9 @@
data = metabranches[new_name]
del metabranches[new_name]
if mapping_check_path(old_name):
- metabranches[old_name] = data
+ metabranches_history.setdefault(old_rev, {})[old_name]
= data
if not layout.is_branch_or_tag(old_name, project):
- unusual.add(old_name)
+ unusual_history.setdefault(old_rev,
set()).add(old_name)
for bp in bps:
revmeta = self.get_revision(bp, revnum, paths, revprops,
metabranch=bps[bp])
--
bazaar-commits mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/bazaar-commits