Looking at <http://subversion.tigris.org/issues/show_bug.cgi?id=2263>,
the current suggestion there is to implement multiple-locks-in-one-request
by POSTing to the me resource.  The POST handler is already implemented ---
it slurps the request body, parses a skel and calls a callback with the
remainder of the skel --- and it has one user already (implemented for
both ra_neon and ra_serf).

Given the above, implementing #2263 does look like a straightforward
exercise.  However, it would require a custom skel-based request format
for the body.  Couldn't we use the ra_svn lock-many request for that?

And, if we could...

Couldn't we take this one step further and write a POST handler that,
essentially, acts as an ra_svn proxy --- grabbing a POST request from
the network and passing it unmodified to ../svnserve/serve.c?

---

So, this may be an absurd conclusion, but I would feel ridiculous
implementing a skel-based solution for a problem that we have
a known-good ra_svn-tuples-based solutions for.
Index: subversion/mod_dav_svn/repos.c
===================================================================
--- subversion/mod_dav_svn/repos.c      (revision 1158271)
+++ subversion/mod_dav_svn/repos.c      (working copy)
@@ -4420,6 +4420,10 @@ handle_post_request(request_rec *r,
     {
       return dav_svn__post_create_txn(resource, request_skel, output);
     }
+  else if (svn_skel__matches_atom(request_skel->children, "ra-svn"))
+    {
+      return (../svnserve/serve.c:serve)(resource, 
request_skel->children->next, output);
+    }
   else
     {
       return dav_svn__new_error(pool, HTTP_BAD_REQUEST, 0,

Reply via email to