Rev 1815: Avoid requesting the latest revision number every time logwalker fetches revisions. in file:///data/jelmer/bzr-svn/trunk/

Jelmer Vernooij jelmer at samba.org
Fri Sep 5 22:29:01 BST 2008


At file:///data/jelmer/bzr-svn/trunk/

------------------------------------------------------------
revno: 1815
revision-id: jelmer at samba.org-20080905212856-ryagmxjamqliyqmk
parent: jelmer at samba.org-20080905211632-khyk24f6201cz5sx
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Fri 2008-09-05 23:28:56 +0200
message:
  Avoid requesting the latest revision number every time logwalker fetches revisions.
modified:
  logwalker.py                   logwalker.py-20060621215743-c13fhfnyzh1xzwh2-1
=== modified file 'logwalker.py'
--- a/logwalker.py	2008-09-02 16:06:35 +0000
+++ b/logwalker.py	2008-09-05 21:28:56 +0000
@@ -227,8 +227,8 @@
         self.quick_revprops = actual.quick_revprops
         self._transport = actual._transport
         self.find_children = actual.find_children
-
         self.saved_revnum = self.cache.last_revnum()
+        self._latest_revnum = None
 
     def find_latest_change(self, path, revnum):
         """Find latest revision that touched path.
@@ -348,9 +348,12 @@
         assert isinstance(self.saved_revnum, int)
         if to_revnum <= self.saved_revnum:
             return
-        latest_revnum = self.actual._transport.get_latest_revnum()
-        assert isinstance(latest_revnum, int)
-        to_revnum = max(latest_revnum, to_revnum)
+
+        # Try to fetch log data in lumps, if possible.
+        if self._latest_revnum is None:
+            self._latest_revnum = self.actual._transport.get_latest_revnum()
+        assert isinstance(self._latest_revnum, int)
+        to_revnum = max(self._latest_revnum, to_revnum)
 
         # Subversion 1.4 clients and servers can only deliver a limited set of revprops
         if self._transport.has_capability("log-revprops"):




More information about the bazaar-commits mailing list