[ 
https://issues.apache.org/jira/browse/OAK-536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13555026#comment-13555026
 ] 

Michael Dürig commented on OAK-536:
-----------------------------------

bq. Because those methods also need to deal with conflicts, not (just) rebase.

Generally yes but as already [outlined 
earlier|http://markmail.org/message/niam2xs2ora5rufi]: these methods could just 
fail on all but conflicts which are trivially merged. This will not be a 
problem for oak-core since oak-core applies changes to private branches and 
will merge these on Session.save. Before merging, branches are rebased and 
that's the place where the more complicated conflict handling should go. Due to 
rebasing the subsequent merge will not conflict any more.

bq. Instead of changing the nodes, could we list the conflicts in the 
exception, similar to BatchUpdateException?

That's another option. I chose annotations because this matches the current 
code in oak-core most closely and kept the necessary changes at a minimum. For 
the POC this is sufficient. 


                
> Implement rebase for branches in Microkernel
> --------------------------------------------
>
>                 Key: OAK-536
>                 URL: https://issues.apache.org/jira/browse/OAK-536
>             Project: Jackrabbit Oak
>          Issue Type: Improvement
>          Components: mk, mongomk
>            Reporter: Michael Dürig
>         Attachments: OAK-536.patch, OAK-536.patch
>
>
> As discussed at length in OAK-464 and on the 
> [list|http://markmail.org/message/4xwfwbax3kpoysbp], having the ability to 
> rebase Microkernel branches on top of a different revision than the one the 
> branch was originally branched from, helps for resolving conflicts. Both in 
> the distributed cluster case and for concurrent commits from user sessions. 
> Since we didn't come to a conclusion where this functionality should be best 
> implemented, I did a [POC 
> implementation|https://github.com/mduerig/jackrabbit-oak/commit/42e8d60132ca2207c03fa79fd1ddca22406fc58a]
>  for oak-core in OAK-464. In order to make an informed decision on how to 
> proceed we should also POC this functionality for the Microkernel.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to