Rev 1590: Improve ordering of revisions fetched when fetching rhs revisions. in http://people.samba.org/bzr/jelmer/bzr-svn/trunk
Jelmer Vernooij
jelmer at samba.org
Thu Aug 21 23:53:32 BST 2008
At http://people.samba.org/bzr/jelmer/bzr-svn/trunk
------------------------------------------------------------
revno: 1590
revision-id: jelmer at samba.org-20080821225330-tly690m4unap3ran
parent: jelmer at samba.org-20080821224014-mqdt27ruhp90eszk
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Fri 2008-08-22 00:53:30 +0200
message:
Improve ordering of revisions fetched when fetching rhs revisions.
modified:
fetch.py fetch.py-20060625004942-x2lfaib8ra707a8p-1
=== modified file 'fetch.py'
--- a/fetch.py 2008-08-21 20:34:40 +0000
+++ b/fetch.py 2008-08-21 22:53:30 +0000
@@ -661,11 +661,11 @@
if revision_id in checked:
return []
extra = set()
- needed = []
- revs = []
- meta_map = {}
- lhs_parent = {}
def check_revid(revision_id):
+ revs = []
+ meta_map = {}
+ needed = []
+ lhs_parent = {}
try:
(branch_path, revnum, mapping) = \
self.source.lookup_revision_id(revision_id)
@@ -689,15 +689,14 @@
elif not find_ghosts:
break
checked.add(revid)
+ return [(revid, lhs_parent[revid], meta_map[revid])
+ for revid in reversed(revs)]
- check_revid(revision_id)
+ needed = check_revid(revision_id)
for revid in extra:
- if revid not in revs:
- check_revid(revid)
-
- needed = [(revid, lhs_parent[revid], meta_map[revid])
- for revid in reversed(revs)]
+ if revid not in checked:
+ needed += check_revid(revid)
return needed
@@ -735,13 +734,12 @@
pb.update('copying revision', num, len(revids))
assert parent_revid is not None and parent_revid != revid
- if "validate" in debug.debug_flags:
- assert self.target.has_revision(parent_revid)
- assert not self.target.has_revision(parent_revid)
if parent_revid == NULL_REVISION:
parent_inv = Inventory(root_id=None)
elif prev_revid != parent_revid:
+ if "validate" in debug.debug_flags:
+ assert self.target.has_revision(parent_revid)
parent_inv = self.target.get_inventory(parent_revid)
else:
parent_inv = prev_inv
More information about the bazaar-commits
mailing list