On May 26, 2005, at 10:11 PM, Greg Stein wrote:

1.  We want mod_dav_svn to handle POST requests.

[...] I'm a bit wary of a vtable hook that merely gateways an
arbitrary set of functionality. Further, it would not belong to the
vsn_hooks vtable -- that is for DeltaV stuff which POST is most decidedly
_not_.

Yeah, you're right. REPORT is there because it's deltaV. POST isn't webdav or deltaV at all, it's just generic HTTP. It's probably more 'correct' to just have mod_dav_svn register it's own POST handler.


3.  It's awkward to create a lock.


Not odd at all -- just for Subversion since it does not have collection locks. For a collection lock, mod_dav will create one lock structure, and
then recursively apply that lock to all resources in the collection.
(apply meaning "append" since a resource can have multiple, non- exclusive
locks on it)

I think I disagree here, in general. The current API is convenient for the way mod_dav_fs happens to implement recursive locking operations: loop over a filesystem, attach the same lock to everything. But for a provider that has a locking implementation *built into* the filesystem, it's much nicer to assume that the filesystem itself will handle the looping and attaching internally.

At this point, though, we've already warped svn_fs.h to match mod_dav, so it would be too late to get any real benefits from an alternate locking API anyway.



2.  Providers need to access the MERGE request body.
...
This hack can be removed if we change vsn_hooks->merge() to accept
    an xml doc.  Everyone okay with that?


Definitely.


At this point, it seems like diminishing returns. It's going to be quite a bit of work to add a whole versioning/compatibility layer to mod_dav... and for what? Just so mod_dav_svn doesn't have to snarf a MERGE request body via input-filter? It seems silly to bump the whole provider API for one tiny change to vsn_hooks->merge().

It's probably just best to table this proposal. I'll add this MERGE change to a new queue of API changes, and someday when there's at least 3 or 4 changes queued up, I'll propose bumping mod_dav's API again. It just doesn't seem worth it right now.

Carry on, nothing to see here...

Reply via email to