Rev 1814: Save one cache lookup. in file:///data/jelmer/bzr-svn/trunk/
Jelmer Vernooij
jelmer at samba.org
Fri Sep 5 22:16:33 BST 2008
At file:///data/jelmer/bzr-svn/trunk/
------------------------------------------------------------
revno: 1814
revision-id: jelmer at samba.org-20080905211632-khyk24f6201cz5sx
parent: jelmer at samba.org-20080905211420-gjbkm40v1c14c454
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Fri 2008-09-05 23:16:32 +0200
message:
Save one cache lookup.
modified:
revmeta.py revmeta.py-20080901215045-n8a6arqybs9ez5hl-1
=== modified file 'revmeta.py'
--- a/revmeta.py 2008-09-05 21:14:20 +0000
+++ b/revmeta.py 2008-09-05 21:16:32 +0000
@@ -260,18 +260,21 @@
super(CachingRevisionMetadata, self).__init__(repository, *args, **kwargs)
self._parents_cache = getattr(self.repository._real_parents_provider, "_cache", None)
self._revid_cache = self.repository.revmap.cache
+ self._revid = None
def get_revision_id(self, mapping):
+ if self._revid is not None:
+ return self._revid
# Look in the cache to see if it already has a revision id
- revid = self._revid_cache.lookup_branch_revnum(self.revnum, self.branch_path, mapping.name)
- if revid is not None:
- return revid
-
- revid = super(CachingRevisionMetadata, self).get_revision_id(mapping)
-
- self._revid_cache.insert_revid(revid, self.branch_path, self.revnum, self.revnum, mapping.name)
+ self._revid = self._revid_cache.lookup_branch_revnum(self.revnum, self.branch_path, mapping.name)
+ if self._revid is not None:
+ return self._revid
+
+ self._revid = super(CachingRevisionMetadata, self).get_revision_id(mapping)
+
+ self._revid_cache.insert_revid(self._revid, self.branch_path, self.revnum, self.revnum, mapping.name)
self._revid_cache.commit_conditionally()
- return revid
+ return self._revid
def get_parent_ids(self, mapping):
myrevid = self.get_revision_id(mapping)
More information about the bazaar-commits
mailing list