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

Re: The way to implement deselection inteface of sparse directory

From: David Glasser <glasser_at_davidglasser.net>
Date: Wed, 28 May 2008 22:55:52 -0700

On Wed, May 28, 2008 at 10:51 PM, Rui, Guo <timmyguo_at_mail.ustc.edu.cn> wrote:
> On Wed, May 28, 2008 at 10:36:50PM -0700, David Glasser wrote:
>> On Wed, May 28, 2008 at 8:35 PM, Rui, Guo <timmyguo_at_mail.ustc.edu.cn> wrote:
>>
>> > Just to be a little off topic. During the 'svn add' fix, I gained the
>> > viewpoint that simply modify the depth of a directory entry without adjusting
>> > the items it contains will not render the wc unusable. I mean, the depth logic
>> > can work on it without producing error. I derived this statement from the fact
>> > that the depth can be arbitrary mixed. Does this statement correct, or did I
>> > missed something?
>>
>> I'm pretty sure that's not true. If a directory has depth infinity or
>> immediates, then Subversion assumes that every child of that directory
>> in that directory's revision is mentioned in its entries file (and
>> similarly for "every file" for depth files). Switching a depth-empty
>> or depth-files directory to a deeper depth without adding the rest of
>> the entries will break it.
>
> The crawler contains the logic that dealing with missing items, doesn't it fix
> the problem? I'm very clear about the underlying adm-access & entry logic. So
> please forgive me is this is a silly question.

Don't worry, it's a fine question; this stuff is complicated.
"Missing items" here, I think, are more like "the user's copy of the
file is gone" or "this whole subdirectory is gone": cases where the wc
has enough data to know that the thing exists, but not what it is.
But it'll happily trust that "depth-infinity r11" means that there's
some information about every child of the directory at r11.

--dave

>> ... unless you meant just for making depths shallower, in which case I
>> think you're right! In addition, you can always remove a child from a
>> depth-empty directory or a directory child from a depth-files
>> directory. So I guess the "building blocks" of cropping are "make the
>> depth shallower" (which never corrupts anything) and "remove child
>> from directory which is shallow enough to not miss it". Is that what
>> you meant?
>
> I didn't aware of the assumption of infinity you described above. I just
> thought an update will automatically fill in the missed items. Thank you for
> clarify the situation. I think this explains why Karl said that I should
> always update the depth first before actually remove the items.
>
> Rui, Guo
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
> For additional commands, e-mail: dev-help_at_subversion.tigris.org
>
>

-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-05-29 07:56:04 CEST

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