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

Re: single file switching (was: svn commit: rev 1163 - trunk/subversion/include trunk/subversion/libsvn_ra_local trunk/subversion/mod_dav_svn trunk/subversion/libsvn_repos)

From: Ben Collins-Sussman <sussman_at_collab.net>
Date: 2002-02-05 19:00:02 CET

Greg Stein <gstein@lyra.org> writes:

> Nah. The point is allowing a file to come from somewhere other than its
> enclosing directory.
>
> Every place where we get a list of files in a directory will now have to
> possibly manage the fact that those files could come from different places.
> Before, it was constrained just to directories, and we had that managed
> through the svn_wc_is_wc_root() function.

Sorry, I'm still not understanding you. I think you have a different
model in your head than I do regarding the workings of libsvn_wc.

Granted -- there are zillions of places in libsvn_wc where we loop
over entries files. But AFAICT, there are only *two* cases where that
loop notices or cares about URLs at all: commits and updates. And
we've described how to make those two crawlers detect and deal with
disjointedness; and the solution doesn't distinguish between disjoint
dirs or files.
 
> The files returned by listdir() may not actually live in the parent you're
> listing.

What is listdir()? Do you mean some future RA->listdir() function?
If so, that irrelevant to a working copy. It's retrieving an ls from
the server, no?

> Every time a person wants to simply refer to a file, there is a lot
> more logic involved to see whether it truly lives in the parent, or
> if it came from somewhere else.

If libsvn_wc wants to refer to a file or dir, it retrieves the entry
structure for that object. The entry structure already has the
correct URL, whether it's disjoint or not. There's no need for extra
logic. Yes, our entries-file XML format has the means to compress
data by means of inheritance; but as Branko pointed out,
svn_wc_entry() always returns the correct URL in the entry structure.

I guess what I'm asking here is: are there any loops over entries
files -- *other* than commits or updates -- that need to be aware of
disjoint URLs? I can't think of any.

On the flip side, you seem to be saying that there are places where
libsvn_wc code somehow depends on an assumption that a file's
entry-URL is directly descended from its parent's entry-URL. But I
don't see those places. Where are they?

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat Oct 21 14:37:04 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.