before detecting conflicts, all move operations are detected form delete-add operations
Question
BUT should the delete insert-use really be detected as move, then the info of the insert gets lost, but if it not detected as move, the info gets lost that it is actually the same relation
Current Behavior for move conversion
Currently the move detection out of delete-add is done by comparing the ids of delete-add if they are the same, if delete-add is just the reference, the reference id should be the same
Problem
But with delete insert+use these are the initial operations:
// DELETE:
{ "value":{"id":"category","containment":true,"upperBound":-1,"lowerBound":0,"type":{"$ref":"#/package/classes/2"}} }
// ADD:
{ "value":{"id":"InfrastructureComponent","references":[{"id":"category","containment":true,"upperBound":-1,"lowerBound":0,"type":{"$ref":"#/package/classes/2"}}]}}}
InfrastructureComponent is the new class that was added, and category is just the reference that was moved.
The first level ids do not match, it would need some more complex code.
Possible best Solution?
-before conflict detection, detect the move, but split it from the add somehow
Thats what the unit test currently expects.
For the conflict detection in such a case:
- delete add operations will not be merged
- BUT it will still detect a conflict, then its a
delete use conflict
I think this behavior is fine for now.
before detecting conflicts, all move operations are detected form delete-add operations
Question
BUT should the delete insert-use really be detected as move, then the info of the insert gets lost, but if it not detected as move, the info gets lost that it is actually the same relation
Current Behavior for move conversion
Currently the move detection out of delete-add is done by comparing the ids of delete-add if they are the same, if delete-add is just the reference, the reference id should be the same
Problem
But with delete insert+use these are the initial operations:
InfrastructureComponentis the new class that was added, andcategoryis just the reference that was moved.The first level ids do not match, it would need some more complex code.
Possible best Solution?
-before conflict detection, detect the move, but split it from the add somehow
Thats what the unit test currently expects.
For the conflict detection in such a case:
delete useconflictI think this behavior is fine for now.