jackrabbit-oak-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Dürig (JIRA) <j...@apache.org>
Subject [jira] [Commented] (OAK-536) Implement rebase for branches in Microkernel
Date Wed, 16 Jan 2013 13:42:12 GMT

    [ 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

Mime
View raw message