I've got the DAV part of svn_ra_replay up and running on the
ra-replay-dev branch, and I'd like someone with a bit more webdav
background to take a look at it if possible and let me know if it
seems reasonable.
Just a quick overview of how it's been implemented: I originally
wanted to try to reuse parts of the existing editor drive reports,
like the update report, but after banging my head against the wall I
determined that it was just too intertwined with the current
implementation and pulling it out in a way that would allow it to be
used for this purpose would just be too difficult. With that in mind
I decided to go a different route. Part of what made this so easy to
implement over ra_svn was the fact that there existed a simple API for
driving an editor on the server side and making it call the
corresponding callback functions on the client end. So I tried to
implement a version of that for DAV. This being DAV, it uses XML
instead of the specialize format ra_svn uses, but it's basically the
same thing. There are xml nodes for each function you might want to
call, and instead of jumping through hoops to nest them to represent
directory structures we just pass them strait along, a simple pass
through for the callbacks that are called on the server side.
The implementation isn't totally generic (it leaves out parts of the
API that aren't used by replay), but it gives us a baseline to
implement something fully generic in the future.
So for anyone that wants to review this, it's in the ra-replay-dev
branch, the vast majority of the DAV specific changes being in
mod_dav_svn/replay.c and libsvn_ra_dav/replay.c.
Thanks,
-garrett
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu Dec 8 00:01:22 2005