[
https://issues.apache.org/jira/browse/OAK-536?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13555040#comment-13555040
]
Thomas Mueller commented on OAK-536:
------------------------------------
> This will not be a problem for oak-core since oak-core applies changes to
> private branches and will merge these on Session.save
I know I repeat myself but I don't think this is the best solution, because if
the MicroKernel is remoted, then you end up with 3 remote calls (branch,
commit, merge) instead of just one (commit).
> Before merging, branches are rebased and that's the place where the more
> complicated conflict handling should go
I think conflict handling should be used if the merge fails, or of the commit
fails.
> Due to rebasing the subsequent merge will not conflict any more.
The merge can still conflict: if another change was committed in a different
cluster node (a different oak-core installation) between the getHeadRevision
and merge.
> I chose annotations because this matches the current code in oak-core most
> closely
Yes, but this solution can't be used when you want to do conflict handing in
commit (at least I don't know how it could be used)
> 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