[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: changing the checkout process

From: Greg Stein <gstein_at_lyra.org>
Date: 2003-05-15 23:47:38 CEST

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


> 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 :-)


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

This is an archived mail posted to the Subversion Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.