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.)
>> * 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_at_10 and B points to ^/A_at_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. :)
Branko Čibej | Director of Subversion
WANdisco // Non-Stop Data
Received on 2013-08-30 19:36:47 CEST