Index: subversion/mod_dav_svn/reports/log.c
===================================================================
--- subversion/mod_dav_svn/reports/log.c	(revision 23461)
+++ subversion/mod_dav_svn/reports/log.c	(working copy)
@@ -219,6 +219,7 @@
   svn_boolean_t strict_node_history = FALSE;     /* off by default */
   apr_array_header_t *paths
     = apr_array_make(resource->pool, 0, sizeof(const char *));
+  const char *comma_separated_paths = NULL;
 
   /* Sanity check. */
   ns = dav_svn__find_ns(doc->namespaces, SVN_XML_NAMESPACE);
@@ -258,6 +259,23 @@
           target = svn_path_join(resource->info->repos_path, rel_path, 
                                  resource->pool);
           APR_ARRAY_PUSH(paths, const char *) = target;
+          if (comma_separated_paths)
+            {
+              comma_separated_paths = apr_pstrcat(resource->pool, 
+                                                  comma_separated_paths,
+                                                  ",",
+                                                  svn_path_uri_encode(target, 
+                                                               resource->pool),
+                                                  NULL);
+            }
+          else
+            {
+              comma_separated_paths = apr_pstrcat(resource->pool, 
+                                                  svn_path_uri_encode(target, 
+                                                               resource->pool),
+                                                  NULL);
+            }
+            
         }
       /* else unknown element; skip it */
     }
@@ -317,18 +335,19 @@
  cleanup:
 
   /* We've detected a 'high level' svn action to log. */
-  if (paths->nelts == 0)
-    action = "log";
-  else if (paths->nelts == 1)
-    action = apr_psprintf(resource->pool, "log-all '%s'",
-                          svn_path_uri_encode(APR_ARRAY_IDX
-                                              (paths, 0, const char *),
-                                              resource->pool));
+  if (paths->nelts > 1)
+    action = apr_psprintf(resource->pool, "log-partial '%s' " \
+                                          "r%" SVN_REVNUM_T_FMT \
+                                          ":%" SVN_REVNUM_T_FMT,
+                                          comma_separated_paths,
+                          start, end);
   else
-    action = apr_psprintf(resource->pool, "log-partial '%s'",
+    action = apr_psprintf(resource->pool, "log-all '%s' r%" SVN_REVNUM_T_FMT \
+                                          ":%" SVN_REVNUM_T_FMT,
                           svn_path_uri_encode(APR_ARRAY_IDX
                                               (paths, 0, const char *),
-                                              resource->pool));
+                                              resource->pool),
+                          start, end);
 
   apr_table_set(resource->info->r->subprocess_env, "SVN-ACTION", action);
 
Index: subversion/mod_dav_svn/reports/file-revs.c
===================================================================
--- subversion/mod_dav_svn/reports/file-revs.c	(revision 23461)
+++ subversion/mod_dav_svn/reports/file-revs.c	(working copy)
@@ -311,8 +311,10 @@
 
   /* We've detected a 'high level' svn action to log. */
   apr_table_set(resource->info->r->subprocess_env, "SVN-ACTION",
-                apr_psprintf(resource->pool, "blame '%s'",
-                             svn_path_uri_encode(path, resource->pool)));
+                apr_psprintf(resource->pool, "blame '%s' r%" SVN_REVNUM_T_FMT \
+                                             ":%" SVN_REVNUM_T_FMT,
+                             svn_path_uri_encode(path, resource->pool),
+                             start, end));
 
   /* Flush the contents of the brigade (returning an error only if we
      don't already have one). */
