On Thu, May 15, 2003 at 11:32:46AM -0500, Ben Collins-Sussman wrote:
>
> Again, another RFC, resulting from a whiteboard session last week.
And, thus, a +1 from me :-)
>...
> At the moment, every RA layer is responsible for implementing its own
> RA->checkout() routine, which essentially loops over dirents (just
> like RA->ls() does) and pushes data at the wc update-editor.
Historically, this was done because ra_dav could greatly optimize the
checkout process relative to an update. Also, and more likely, it may have
grew this way because we did checkout first, then a good while later, we
added the update facility. The update stuff was *very* different, as it
involved a reporter and whatnot. It was not obvious that (from an RA
standpoint) the two could be unified.
>...
> This change would effectively make checkouts rely completely on
> svn_repos_dir_delta(), rather than on independent RA looping
> implementations.
In the ra_dav world, we move from checkout being a series of PROPFIND and
GET requests, to start off with a REPORT. The former approach would make it
easier (down the road) to check out from any WebDAV server. Using a custom
REPORT ties our checkout process to the Subversion server. [which is fine
for SVN 1.0]
> The pros:
>
> - we lose a lot of code from all three RA layers
> - our checkout logic is unified (easier maintenance, in theory)
> - for people creating new RA layers, one less routine to write
woo!
> The cons:
>
> - this approach may give people the willies. I mean, come on... a
> checkout is just an update of an broken root dir?
It isn't very much different from doing "svn co", hitting ^C, and then
trying to do "svn up". We just hit ^C for the user :-)
The simple fact is that the end result looks the same.
And hey, I've already got a willie. This new design doesn't change that :-)
Cheers,
-g
--
Greg Stein, http://www.lyra.org/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Thu May 15 23:46:07 2003