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)