On 30.08.2013 19:12, Julian Foad wrote:
> Branko Čibej wrote:
>
>> One possible solution is to replay the moves in the order they happened.
>> Then you'd get two cases:
>>
>>   * A is an ancestor of B: the operation is:
> ('Ancestor' meaning a time-line predecessor of the same node-copy-id.)

Yes.

[...]
>>   * A and B are the same node: In this case, they'll can only be visible
>>     at the same time if you have a switched subtree or an external
>>     subtree, and the multiple-source move doesn't happen (because the
>>     move needs to be replicated in both subtrees)
> If A points to ^/A@10 and B points to ^/A@10, then B is switched but the move 
> can't (and shouldn't) be replicated in subtree B because B is the move-root 
> node.

Sorry, I should've said that the subtrees are independent and therefore
don't run afoul of any of the scenarios you described.

>
>> I'm not sure how the editor driver would represent the move sequence and
>> whether the resulting (intermediate) tree conflict should be resolved to
>> a text conflict automatically or not; but I'm pretty sure it can be done
>> without introducing multiple-source or multiple-target moves.
> Well, I'd love it if you can say how.

Thinking about that. Converting intuition to algebra is not always
trivial or obvious. :)

-- Brane


-- 
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
e. br...@wandisco.com

Reply via email to