[
https://issues.apache.org/jira/browse/OAK-3381?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16042977#comment-16042977
]
Alex Parvulescu edited comment on OAK-3381 at 6/8/17 4:42 PM:
--------------------------------------------------------------
thanks for the feedback!
I've cleaned-up the javadocs (added more info to the deprecated methods), see
updated branch (rebased on latest trunk) [0].
Open questions:
* -Should {{DefaultThreeWayConflictHandler}} move to the
ThreeWayConflictHandler package? not sure if this is a m12 artefact or on
purpose in this package- move no longer needed, we leave as is for now.
* What to do with the {{AnnotatingConflictHandler}}? can I leave it as is for
now (not sure where this is used)?
* Improvement idea: subtree conflict handlers (focus conflict handling only on
specific paths)? this would probably come in play after we have a better way to
register handlers
* will create followup issues to refactor existing handlers to the new apis:
{{JcrLastModifiedConflictHandler}}, {{ChildOrderConflictHandler}}
* I think I need to add more tests :)
[edit] Missed Angela's update. thanks for taking a look! I've updated the
branch to include your feedback.
bq. i would also add the annotations here (just to improve readability of the
code)
I added the {{@Nonnull}} not sure if this is what you meant here
bq. what was the reason for adding {{Preconditions.checkNotNull(ours);}} with
the {{propertyConflictHandlers}}? to me that looks unrelated to the issue at
hand. am i mistaken?
good catch! leftovers from the resolution changes :)
[0]
https://github.com/stillalex/jackrabbit-oak/commit/3093ec092c7631fa944018001b177ca4af653721
was (Author: alex.parvulescu):
thanks for the feedback!
I've cleaned-up the javadocs (added more info to the deprecated methods), see
updated branch (rebased on latest trunk) [0].
Open questions:
* _Should {{DefaultThreeWayConflictHandler}} move to the
ThreeWayConflictHandler package? not sure if this is a m12 artefact or on
purpose in this package_ move no longer needed, we leave as is for now.
* What to do with the {{AnnotatingConflictHandler}}? can I leave it as is for
now (not sure where this is used)?
* Improvement idea: subtree conflict handlers (focus conflict handling only on
specific paths)? this would probably come in play after we have a better way to
register handlers
* will create followup issues to refactor existing handlers to the new apis:
{{JcrLastModifiedConflictHandler}}, {{ChildOrderConflictHandler}}
* I think I need to add more tests :)
[edit] Missed Angela's update. thanks for taking a look! I've updated the
branch to include your feedback.
> i would also add the annotations here (just to improve readability of the
> code)
I added the {{@Nonnull}} not sure if this is what you meant here
> what was the reason for adding {{Preconditions.checkNotNull(ours);}} with the
> {{propertyConflictHandlers}}? to me that looks unrelated to the issue at
> hand. am i mistaken?
good catch! leftovers from the resolution changes :)
[0]
https://github.com/stillalex/jackrabbit-oak/commit/3093ec092c7631fa944018001b177ca4af653721
> Provide Common Ancestor To ConflictHandler
> ------------------------------------------
>
> Key: OAK-3381
> URL: https://issues.apache.org/jira/browse/OAK-3381
> Project: Jackrabbit Oak
> Issue Type: Improvement
> Components: core
> Affects Versions: 1.3.5
> Reporter: Dominique Jäggi
> Assignee: Alex Parvulescu
> Fix For: 1.8
>
> Attachments: OAK-3381-v0.patch, OAK-3381-v1.patch
>
>
> currently _ConflictHandler_s are provided _ours_ and _theirs_, reflecting a
> memory state and persisted state of changes to the same root resulting in a
> conflict.
> unfortunately the information provided to _ConflictHandlers_ does not include
> the common ancestor, needed for meaningful change-change merges (three-way
> merge).
> the core should be enhanced to provide such information to _ConflictHandlers_.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)