[
https://issues.apache.org/jira/browse/OAK-464?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13533728#comment-13533728
]
Thomas Mueller commented on OAK-464:
------------------------------------
This is a big patch. I don't really understand what it does in detail yet, but
it seems to me that in the patch, the journal is parsed (JournalIterator.java).
Why is this required? Above, Jukka proposed the following code (let's call it
'JukkasProposal'):
{code}
public String rebase(String branchRevision, String newBaseRevision) {
String revision = branch(newBaseRevision);
for (String jsop : getBranchCommitsUntil(branchRevision)) {
revision = commit("/", jsop, revision, null);
}
return revision;
}
{code}
In JukkasProposal there is no parsing required. So I wonder, given that in your
patch you do parse the journal, is JukkasProposal flawed? If so, why is it
flawed?
> RootImpl.rebase() doesn't handle move operations correctly
> ----------------------------------------------------------
>
> Key: OAK-464
> URL: https://issues.apache.org/jira/browse/OAK-464
> Project: Jackrabbit Oak
> Issue Type: Bug
> Reporter: Michael Dürig
>
> Doing {{RootImpl.rebase()}} causes moves to be changed to remove followed by
> add. Which causes moves of large sub trees to become very expensive.
--
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