I've been implementing new locking features in subversion lately, and running into bits of pain here and there with mod_dav's provider API. After some discussion with gstein and jerenkrantz, we're thinking about revving the provider API to alleviate the pain.

Because mod_dav.h is a public API, it's not clear how I would proceed. Especially since we'd want to backport this for a 2.0.x release without breaking binary compatibility.

I'd like to know if this process is kosher:

   1. rev the mod_dav provider API in httpd's /trunk
   2. create new "vtable2" structures in mod_dav.h
   3. garner votes and backport to 2.0.x
   4. release 2.0.53, and make svn 1.2 require it.

I'm guessing that in both /trunk and httpd-2.0.53, mod_dav would advertise itself as accepting *either* version 1 or version 2 providers. mod_dav_fs would still work as a version 1 provider, mod_dav_svn would be a version 2 provider.

(By the way, yes, the backport is necessary. It's not an option for svn 1.2 to use httpd 2.2; because apr 0.9 and apr 1.0 are binary-incompatible, it would break subversion's *own* compatibility rules to use apr 1.0 any time before svn 2.0.)

Confused yet?  :-)

Can folks shed some light here?  What's the proper procedure here?



Reply via email to