On Fri, Sep 6, 2013 at 5:50 PM, Philip Martin
<philip.martin_at_wandisco.com> wrote:
> Philip Martin <philip.martin_at_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_at_6
> A/B_at_6
> A/C_at_6
>
> that gets updated to
>
> A_at_8
> A/D_at_8
> A/E_at_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
Received on 2013-09-06 18:57:16 CEST