Rev 804: Use 1.5 interface by default for get_log, add compatibility with 1.4. in file:///data/jelmer/bzr-svn/0.4/

Jelmer Vernooij jelmer at samba.org
Sun Dec 9 22:02:39 GMT 2007


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

------------------------------------------------------------
revno: 804
revision-id:jelmer at samba.org-20071209220239-tsbyak73lxr5yo9r
parent: jelmer at samba.org-20071206175113-m0ayc56h3u3wi5s5
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: 0.4
timestamp: Sun 2007-12-09 23:02:39 +0100
message:
  Use 1.5 interface by default for get_log, add compatibility with 1.4.
modified:
  logwalker.py                   logwalker.py-20060621215743-c13fhfnyzh1xzwh2-1
  transport.py                   transport.py-20060406231150-b3472d06b3a0818d
=== modified file 'logwalker.py'
--- a/logwalker.py	2007-11-05 15:11:22 +0000
+++ b/logwalker.py	2007-12-09 22:02:39 +0000
@@ -82,8 +82,9 @@
 
         pb = ui.ui_factory.nested_progress_bar()
 
-        def rcvr(orig_paths, rev, author, date, message, pool):
-            pb.update('fetching svn revision info', rev, to_revnum)
+        def rcvr(log_entry, pool):
+            pb.update('fetching svn revision info', log_entry.revision, to_revnum)
+            orig_paths = log_entry.changed_paths
             if orig_paths is None:
                 orig_paths = {}
             for p in orig_paths:
@@ -93,9 +94,9 @@
 
                 self.db.execute(
                      "replace into changed_path (rev, path, action, copyfrom_path, copyfrom_rev) values (?, ?, ?, ?, ?)", 
-                     (rev, p.strip("/"), orig_paths[p].action, copyfrom_path, orig_paths[p].copyfrom_rev))
+                     (log_entry.revision, p.strip("/"), orig_paths[p].action, copyfrom_path, orig_paths[p].copyfrom_rev))
 
-            self.saved_revnum = rev
+            self.saved_revnum = log_entry.revision
             if self.saved_revnum % 1000 == 0:
                 self.db.commit()
 

=== modified file 'transport.py'
--- a/transport.py	2007-11-13 22:40:56 +0000
+++ b/transport.py	2007-12-09 22:02:39 +0000
@@ -325,10 +325,34 @@
 
     @convert_svn_error
     @needs_busy
-    def get_log(self, path, from_revnum, to_revnum, *args, **kwargs):
+    def get_log(self, path, from_revnum, to_revnum, limit, discover_changed_paths, 
+                strict_node_history, rcvr, pool=None):
         self.mutter('svn log %r:%r %r' % (from_revnum, to_revnum, path))
+        if hasattr(svn.ra, 'get_log2'):
+            return svn.ra.get_log2(self._ra,  [self._request_path(path)], 
+                           from_revnum, to_revnum, limit, discover_changed_paths,
+                           strict_node_history, False, 
+                           [svn.core.SVN_PROP_REVISION_LOG, 
+                            svn.core.SVN_PROP_REVISION_AUTHOR,
+                            svn.core.SVN_PROP_REVISION_DATE],
+                           rcvr, pool)
+        class LogEntry:
+            def __init__(self, changed_paths, rev, author, date, message):
+                self.changed_paths = changed_paths
+                self.revprops = {
+                        svn.core.SVN_PROP_REVISION_AUTHOR: author,
+                        svn.core.SVN_PROP_REVISION_LOG: message,
+                        svn.core.SVN_PROP_REVISION_DATE: date
+                        }
+                self.revision = rev
+                self.has_children = None
+
+        def rcvr_convert(orig_paths, rev, author, date, message, pool):
+            rcvr(LogEntry(orig_paths, rev, author, date, message), pool)
+
         return svn.ra.get_log(self._ra, [self._request_path(path)], 
-                              from_revnum, to_revnum, *args, **kwargs)
+                              from_revnum, to_revnum, limit, discover_changed_paths, 
+                              strict_node_history, rcvr_convert, pool)
 
     def _open_real_transport(self):
         if self._backing_url != self.svn_url:




More information about the bazaar-commits mailing list