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

Re: solution to issue 704

From: Greg Stein <gstein_at_lyra.org>
Date: 2002-05-20 10:53:21 CEST

On Sun, May 19, 2002 at 12:43:57PM -0500, Ben Collins-Sussman wrote:
>...
> To generate this post-switch <resource-walk>, we're running dir_delta,
> comparing revision 0 against the new switched-subtree. So dir_delta
> is sending out an editor 'add' command for every single item in the
> switch-destination.

Oh, geez. "Hey, I've got a hammer. That looks like a nail!"

You're producing a tree. That is done by walking the tree using the
svn_fs_dir_entries() call. It is certainly not a delta operation.

>...
> It's a shame, because I've been able to essentially re-use both
> mod_dav_svn's and ra_dav's editors to do the resource-walk, with
> almost no modifications. It's been very nice. But now it seems that

"almost". But what you're doing is forcing an editor and a driver to do
double-duty across two entirely different semantic concepts. But with a
tweak. Not quite the same. IMO, it is a big recipe for confusion.

On the ra_dav side, you're simply going to get a bunch of elements for the
walk. Don't try and drive an editor. Just start calling set_wc_prop. This is
NOT an editor. It is a simple walk of the tree. Don't try to pretend
otherwise.

>...
> Instead, it will just call the 'set_wc_prop' callback sitting in the
> RA session baton directly. Does that sound reasonable?

Absolutely.

Screw dir_delta. It isn't a "walk" system. It is about deltas. On the
client, just map the incoming data to set_wc_prop. Clean and simple; and
even better: understandable.

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 Mon May 20 10:51:19 2002

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