On Fri, Sep 6, 2013 at 5:50 PM, Philip Martin
<philip.mar...@wandisco.com> wrote:
> Philip Martin <philip.mar...@wandisco.com> writes:
>
>> What about alter_dir?  I think the rule is that alter_dir on a directory
>> should occur before add or delete affects the children of the directory.
>> There is also a rule:
>>
>>  * - The ancestor of an added, copied-here, moved-here, or
>>  *   modified node may not be deleted. The ancestor may not be moved
>>  *   (instead: perform the move, *then* the edits).
>
> I've been thinking about alter_dir and I see no reason, in the update
> editor at least, for a rule that requires alter_dir before adding or
> removing children.  The Ev2 "once" rule is designed to ensure that Ev2
> actions can be applied to the nodes in the working copy as the actions
> are received and that the working copy nodes will always reflect
> repository nodes.  This doesn't require alter_dir on the parent before
> add/delete of children.
>
> Consider a working copy with three nodes:
>
>    A@6
>    A/B@6
>    A/C@6
>
> that gets updated to
>
>    A@8
>    A/D@8
>    A/E@8
>
> That's two adds, two deletes and an alter and the update editor can
> handle them in any order, even this order:
>
>    add_dir A/D
>    delete A/B
>    alter_dir A, children=D,E
>    add_dir A/E
>    delete A/C

I don't fully grok the Ev2 ideas and discussions, so not sure this is
relevant, but please do remember this little detail: for working
copies on case-insensitive filesystems, it's important that deletes
are executed before adds (for handling case-only renames: 'svn mv foo
Foo').

-- 
Johan

Reply via email to