diff --git vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/ChildNodeStash.java vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/ChildNodeStash.java index 9be95cb..128d9fe 100644 --- vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/ChildNodeStash.java +++ vault-core/src/main/java/org/apache/jackrabbit/vault/fs/impl/io/ChildNodeStash.java @@ -127,7 +127,11 @@ public class ChildNodeStash { Node child = iter.nextNode(); String newPath = parent.getPath() + "/" + child.getName(); try { - session.move(child.getPath(), newPath); + if (!session.nodeExists(newPath)) { + session.move(child.getPath(), newPath); + } else { + log.debug("Skipping restore from temporary location {} as node already exists at {}", child.getPath(), newPath); + } } catch (RepositoryException e) { log.warn("Unable to move child back to new location at {} due to: {}. Node will remain in temporary location: {}", new Object[]{newPath, e.getMessage(), child.getPath()});