Fix conversion of revprops.
authorJelmer Vernooij <jelmer@samba.org>
Mon, 23 Jun 2008 15:11:33 +0000 (17:11 +0200)
committerJelmer Vernooij <jelmer@samba.org>
Mon, 23 Jun 2008 15:11:33 +0000 (17:11 +0200)
logwalker.py
util.c

index 2079db29bc574d4af2d62afba6d84daf59349f46..5b2294c9c66414ee61f3441de120ff4367275e37 100644 (file)
@@ -313,7 +313,7 @@ class CachingLogWalker(CacheTable):
 
         try:
             try:
-                self.actual._transport.get_log(rcvr, None, self.saved_revnum, to_revnum, 0, True, True, False, [])
+                self.actual._transport.get_log(rcvr, None, self.saved_revnum, to_revnum, 0, True, True, False, todo_revprops)
             except SubversionException, (_, num):
                 if num == ERR_FS_NO_SUCH_REVISION:
                     raise NoSuchRevision(branch=self, 
diff --git a/util.c b/util.c
index 0293cdc453f202c8baaa8e6f6c8ab6b73b30e79c..8d2930c40fc7d1cb0742a4268bea3d503cbc942d 100644 (file)
--- a/util.c
+++ b/util.c
@@ -174,23 +174,14 @@ static PyObject *pyify_changed_paths(apr_hash_t *changed_paths, apr_pool_t *pool
 svn_error_t *py_svn_log_entry_receiver(void *baton, svn_log_entry_t *log_entry, apr_pool_t *pool)
 {
        PyObject *revprops, *py_changed_paths, *ret;
-    apr_hash_index_t *idx;
-    const char *key;
-    apr_ssize_t klen;
-       char *val;
 
        py_changed_paths = pyify_changed_paths(log_entry->changed_paths, pool);
        if (py_changed_paths == NULL)
                return py_svn_error();
 
-       revprops = PyDict_New();
-       if (log_entry->revprops != NULL) {
-                for (idx = apr_hash_first(pool, log_entry->revprops); idx != NULL;
-             idx = apr_hash_next(idx)) {
-            apr_hash_this(idx, (const void **)&key, &klen, (void **)&val);
-                       PyDict_SetItemString(revprops, key, PyString_FromString(val));
-               }
-       }
+       revprops = prop_hash_to_dict(log_entry->revprops);
+       if (revprops == NULL)
+               return py_svn_error();
 
     ret = PyObject_CallFunction((PyObject *)baton, "OlOb", py_changed_paths, 
                                                                 log_entry->revision, revprops, log_entry->has_children);