You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by th...@apache.org on 2012/01/26 14:58:35 UTC
svn commit: r1236180 - in /jackrabbit/sandbox/microkernel/src:
main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java
test/java/org/apache/jackrabbit/mk/ConflictingMoveTest.java
Author: thomasm
Date: Thu Jan 26 13:58:34 2012
New Revision: 1236180
URL: http://svn.apache.org/viewvc?rev=1236180&view=rev
Log:
Double delete
Modified:
jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java
jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/ConflictingMoveTest.java
Modified: jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java?rev=1236180&r1=1236179&r2=1236180&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java (original)
+++ jackrabbit/sandbox/microkernel/src/main/java/org/apache/jackrabbit/mk/mem/MemoryKernelImpl.java Thu Jan 26 13:58:34 2012
@@ -224,7 +224,10 @@ public class MemoryKernelImpl extends Wr
break;
case '-':
diff.tag('-').value(path).newline();
- data = data.cloneAndRemoveChildNode(from, rev);
+ if (data.exists(from) || !getRevisionDataRoot(revisionId).exists(from)) {
+ // this will fail if the node didn't exist
+ data = data.cloneAndRemoveChildNode(from, rev);
+ }
break;
case '^':
t.read(':');
Modified: jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/ConflictingMoveTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/ConflictingMoveTest.java?rev=1236180&r1=1236179&r2=1236180&view=diff
==============================================================================
--- jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/ConflictingMoveTest.java (original)
+++ jackrabbit/sandbox/microkernel/src/test/java/org/apache/jackrabbit/mk/ConflictingMoveTest.java Thu Jan 26 13:58:34 2012
@@ -93,4 +93,16 @@ public class ConflictingMoveTest extends
}
}
+ @Test
+ public void doubleDelete() {
+ if (!isMemoryKernel(mk)) {
+ // TODO
+ return;
+ }
+ String head = mk.getHeadRevision();
+ head = mk.commit("/", "+\"a\": {}", head, "");
+ mk.commit("/", "-\"a\"", head, "");
+ mk.commit("/", "-\"a\"", head, "");
+ }
+
}