Community
Participate
Working Groups
The JavaDocs for CDOConflictResolver2 specify the following for the map passed into the resolveConflicts method: "Each value in this map is a Pair that optionally contains the old remote revision (ancestor) as element1 and the remote delta as element2." But the logic that constructs these pairs, i.e. AbstractCDOView.invalidate(*), lines 1188-9 in HEAD, clearly take the revision from the *local* object. Do we need to fix the docs, or the code?
I don't remember exactly what we discussed when introducing the new interface, but I think the idea of passing the ancestor is based on how branch merging works. I quickly checked the CDO provided ConlictResolver implementations and couldn't find one actually making use of the passed 'oldRevision'. So I don't see a problem changing the code (if we can get an ancestor in all cases..), but we might break client code which already relies on the revision which is currently passed (though, the revision could always be fetched from the conflict object itself), so updating the javaDoc might be better. Any more thoughts, Eike?
Now that I've deprecated AbstractObjectConflictResolver I wonder if we can deprecated or remove CDOConflictResolver2 altogether? The new CDOMergingConflictResolver doesn't need it...
(In reply to comment #2) > Now that I've deprecated AbstractObjectConflictResolver I see no annotation to that effect in the source file...
I've removed it again because CDOMergingConflictResolver is not yet stable. In addition Martin and I realized that a merger can not produce exactly the same result in terms of possible local modifications.
Moving all open bug reports to 4.1 because the release is very near and it's hghly unlikely that there will be spare time to address 4.0 problems. Please make sure that your patches can be applied against the master branch and that your problem is not already fixed there!!!
Moving all open issues to 4.2. Open bugs can be ported to 4.1 maintenance after they've been fixed in master.
I'm going to update the docs...
commit 0353264ea89db94222190f83d048bb38153bdd27
Available in R20130613-1157 (4.2)