You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Michael Dürig (JIRA)" <ji...@apache.org> on 2013/12/19 16:30:08 UTC
[jira] [Created] (OAK-1298) Improve MoveDetector to also include
moves from transient locations
Michael Dürig created OAK-1298:
----------------------------------
Summary: Improve MoveDetector to also include moves from transient locations
Key: OAK-1298
URL: https://issues.apache.org/jira/browse/OAK-1298
Project: Jackrabbit Oak
Issue Type: Improvement
Components: core
Reporter: Michael Dürig
Assignee: Michael Dürig
The {{MoveDetector}} introduced with OAK-783 only reports moved nodes for nodes whose source location is not transient. A source location is transient if it is transiently added or a child node of a transiently moved tree. That is, it does not report moved nodes for
# nodes that are added and subsequently moved
# nodes that are moved from within a subtree that has been moved before.
While 1. is actually desirable, 2. is a limitation in the current implementation of {{MoveDetector}}.
While [commenting | https://issues.apache.org/jira/browse/OAK-710?focusedCommentId=13852890&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13852890] on OAK-710 it occurred to me that we could improve {{MoveDetector}} to also cover point 2 from above. For {{MoveDetector}} the situation is actually reverse from that of {{MoveTracker}} described in that comment: it correctly handles cases like {{>/a:/b/c >/b:/d}} but does not correctly handle the dual case of {{/d:b >/b/c:a}}. This could be fixed by walking up the hierarchy to determine of a parent of a moved node has been moved and substituting the relevant part of the source path accordingly.
--
This message was sent by Atlassian JIRA
(v6.1.4#6159)