Rev 1645: Search revid cache more effectively. in http://people.samba.org/bzr/jelmer/bzr-svn/trunk
Jelmer Vernooij
jelmer at samba.org
Sun Aug 24 22:41:51 BST 2008
At http://people.samba.org/bzr/jelmer/bzr-svn/trunk
------------------------------------------------------------
revno: 1645
revision-id: jelmer at samba.org-20080824214149-f6xx6k721xqbca9f
parent: jelmer at samba.org-20080824204108-8eb2r8zf35g4067s
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Sun 2008-08-24 23:41:49 +0200
message:
Search revid cache more effectively.
modified:
repository.py repository.py-20060306123302-1f8c5069b3fe0265
revids.py revids.py-20070416220458-36vfa0730cchevp1-1
=== modified file 'repository.py'
--- a/repository.py 2008-08-23 14:55:24 +0000
+++ b/repository.py 2008-08-24 21:41:49 +0000
@@ -208,6 +208,7 @@
self.revmap = CachingRevidMap(self.revmap, self.cachedb)
self._real_parents_provider = DiskCachingParentsProvider(self._real_parents_provider, cachedir_transport)
+ self._parents_provider = CachingParentsProvider(self._real_parents_provider)
self.texts = SvnTexts(self)
self.revisions = VirtualRevisionTexts(self)
self.inventories = VirtualInventoryTexts(self)
@@ -324,7 +325,7 @@
return self._default_mapping
def _make_parents_provider(self):
- return CachingParentsProvider(self._real_parents_provider)
+ return self._parents_provider
def get_deltas_for_revisions(self, revisions):
for revision in revisions:
=== modified file 'revids.py'
--- a/revids.py 2008-08-24 20:41:08 +0000
+++ b/revids.py 2008-08-24 21:41:49 +0000
@@ -260,7 +260,7 @@
assert isinstance(revid, str)
self.mutter("lookup revid %r", revid)
ret = self.cachedb.execute(
- "select path, min_revnum, max_revnum, scheme from revmap where revid=?", (revid,)).fetchone()
+ "select path, min_revnum, max_revnum, scheme from revmap where revid=? order by abs(min_revnum-max_revnum) asc", (revid,)).fetchone()
if ret is None:
raise NoSuchRevision(self, revid)
(path, min_revnum, max_revnum, scheme) = (ret[0].encode("utf-8"), int(ret[1]), int(ret[2]), ret[3].encode("utf-8"))
More information about the bazaar-commits
mailing list