[ 
https://issues.apache.org/jira/browse/JCR-3515?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13576930#comment-13576930
 ] 

Thibaut Rizzi commented on JCR-3515:
------------------------------------

Code responsible for this behaviour is in 
org.apache.jackrabbit.core.ItemSaveOperation.initVersionHistories(SessionContext,
 Iterable<ItemState>). JCR_VERSIONHISTORY property is retrieved through a 
VersionHistoryInfo object. But JCR_BASEVERSION and JCR_PREDECESSORS are 
automatically set to the identifier of the root version.

Do you think this can be fixed? If not, is there a (public) way to manually set 
JCR_BASEVERSION and JCR_PREDECESSORS as it is achieved is this method (by 
calling NodeImpl#internalSetProperty()) ?

I was also thinking about using an import config and implementing a 
ProtectedPropertyImporter that could set those properties via 
org.apache.jackrabbit.core.xml.ProtectedPropertyImporter.handlePropInfo(NodeImpl,
 PropInfo, QPropertyDefinition). Does this sound like a proper way to 
accomplish our purpose?
                
> After export/import, predecessors and baseVersion of mix:versionable node 
> systematically points to rootVersion.
> ---------------------------------------------------------------------------------------------------------------
>
>                 Key: JCR-3515
>                 URL: https://issues.apache.org/jira/browse/JCR-3515
>             Project: Jackrabbit Content Repository
>          Issue Type: Bug
>          Components: JCR 2.0, versioning
>    Affects Versions: 2.4.3
>            Reporter: Thibaut Rizzi
>            Priority: Minor
>
> When doing an export/import of system view XML into the same repository, 
> jcr:predecessors  and jcr:baseVersion of mix:versionable nodes do not point 
> to the version which was pointed at export time but to rootVersion.
> For example, while in the exported XML, a node has the property baseVersion 
> with the following value {{d1f205ad-53b8-4ed2-b74f-57cc5619108b}}. After 
> import, baseVersion has the value {{     
> cff2de16-1427-4f70-bf60-b4f424d60066}} which points to the rootVersion, even 
> if the version with uuid {{      
> d1f205ad-53b8-4ed2-b74f-57cc5619108b}} still exists in this version history.
> uuid behaviour used on import is IMPORT_UUID_COLLISION_THROW.

--
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

Reply via email to