How xebialabs-community/xl-repository-tools works
This is a Java command-line toolkit for XL Deploy repository maintenance. Its principal workflow opens source and fresh destination installations, recreates the source node tree in the destination, then copies properties while translating references; it intentionally skips the version database. The tree traversal periodically saves destination sessions and reports failed properties. A separate VersionHistoryFixer repairs inconsistent version histories. Source excerpts support these relationships, but do not show repository internals beyond the Jackrabbit APIs used.
Main entry points: NodeForNodeRepositoryCopier.java Repository copier · VersionHistoryFixer.java History fixer · Stats.java Copy statistics
Components 12
Repository migration
- Repository copier
src/main/java/com/xebialabs/repository/tools/NodeForNodeRepositoryCopier.java - Tree traversal
src/main/java/com/xebialabs/repository/tools/NodeForNodeRepositoryCopier.java - Node creation
src/main/java/com/xebialabs/repository/tools/NodeForNodeRepositoryCopier.java - Property copying
src/main/java/com/xebialabs/repository/tools/NodeForNodeRepositoryCopier.java - Reference conversion
src/main/java/com/xebialabs/repository/tools/NodeForNodeRepositoryCopier.java - Copy statistics
src/main/java/com/xebialabs/repository/tools/Stats.java
Repository access
- Repository configuration
src/main/java/com/xebialabs/repository/tools/NodeForNodeRepositoryCopier.java - Source repository
- Destination repository
Version maintenance
- History fixer
src/main/java/com/xebialabs/repository/tools/VersionHistoryFixer.java - Version history
Other components
- Operator
Connections 18
- Operator → Repository copier: runs
- Repository copier → Repository configuration: loads configuration
- Repository copier → Source repository: opens source
- Repository copier → Destination repository: opens destination
- Repository copier → Tree traversal: starts traversal
- Tree traversal → Source repository: reads nodes
- Tree traversal → Node creation: creates nodes
- Node creation → Destination repository: writes nodes
- Repository copier → Property copying: starts property copy
- Property copying → Source repository: reads properties
- Property copying → Destination repository: writes properties
- Property copying → Reference conversion: converts references
- Reference conversion → Source repository: resolves identifiers
- Reference conversion → Destination repository: sets references
- Tree traversal → Copy statistics: counts nodes
- Property copying → Copy statistics: counts failures
- Operator → History fixer: runs separately
- History fixer → Version history: checks and repairs