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