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,