[ 
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:51 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/apache/jackrabbit-oak/compare/trunk...stillalex:oak-3381


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.

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

> 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)

Reply via email to