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

Re: CVS update: subversion/subversion/libsvn_wc apply_delta.c

From: Greg Stein <gstein_at_lyra.org>
Date: 2000-08-31 20:11:18 CEST

On Thu, Aug 31, 2000 at 09:30:03AM -0500, Karl Fogel wrote:
> Greg Stein <gstein@lyra.org> writes:
> > The current WC code assumes a depth-first traversal. You must call
> > finish_directory on B (and D) before calling add_directory for C. This is
> > the whole "telescoping" thing vs. creating new batons.
>
> The telescoping is going away, in favor of just dup'ing the strings.

Coolness.

> I'm actually trying to make the wc library not sensitive to
> breadth-first vs depth-first, and I think this is quite possible.

I agree. Any problem would most likely be due to some dir-specific state
located in the walk baton or somesuch. Easy fix: move that stuff to the dir
baton.

> The
> callbacks should `just work', whenever they're called, as long as this
> basic condition is met: that callbacks about a given directory have
> always been called by the time callbacks about descendents under that
> directory get called.

This is a given based on the walker design: you must pass a baton for the
parent dir for those descendents. How to get the baton? When the parent dir
is added/replaced.

In other words: just to use the API, you end up following the condition you
describe.

In this particular case, the WC walker was placing addition restrictions
regarding the time-ordering of calls (outside the scope of the raw API).
We could simply state that was by design, but I'm glad we aren't :-)

Your changes will definitely help! Tweaking ra_dav to match that time
ordering would be a little burdensome.

Happy, happy, joy, joy...
-g

-- 
Greg Stein, http://www.lyra.org/
Received on Sat Oct 21 14:36:07 2006

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.