You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-commits@jackrabbit.apache.org by mr...@apache.org on 2014/04/17 12:08:52 UTC

svn commit: r1588201 - in /jackrabbit/oak/trunk/oak-core/src: main/java/org/apache/jackrabbit/oak/plugins/document/MergeCommit.java test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKDiffTest.java

Author: mreutegg
Date: Thu Apr 17 10:08:51 2014
New Revision: 1588201

URL: http://svn.apache.org/r1588201
Log:
OAK-1742: DocumentNodeStore on MongoDB returns incorrect diff for merge commits

Modified:
    jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MergeCommit.java
    jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKDiffTest.java

Modified: jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MergeCommit.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MergeCommit.java?rev=1588201&r1=1588200&r2=1588201&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MergeCommit.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MergeCommit.java Thu Apr 17 10:08:51 2014
@@ -36,4 +36,9 @@ class MergeCommit extends Commit {
     SortedSet<Revision> getMergeRevisions() {
         return mergeRevs;
     }
+
+    @Override
+    public void applyToCache(Revision before, boolean isBranchCommit) {
+        // do nothing for a merge commit
+    }
 }

Modified: jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKDiffTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKDiffTest.java?rev=1588201&r1=1588200&r2=1588201&view=diff
==============================================================================
--- jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKDiffTest.java (original)
+++ jackrabbit/oak/trunk/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKDiffTest.java Thu Apr 17 10:08:51 2014
@@ -22,6 +22,7 @@ import org.json.simple.JSONObject;
 import org.junit.Ignore;
 import org.junit.Test;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
@@ -324,4 +325,17 @@ public class DocumentMKDiffTest extends 
         jsop = mk.diff(rev5, rev6, "/", 0);
         assertTrue(jsop, jsop.contains("^\"/node-new\""));
     }
+
+    @Test
+    public void diffMergedRevision() {
+        mk.commit("/", "+\"test\":{}", null, null);
+        String before = mk.getHeadRevision();
+
+        String b = mk.branch(null);
+        b = mk.commit("/test", "^\"p\":1", b, null);
+        String after = mk.merge(b, null);
+
+        String jsop = mk.diff(before, after, "/", 0).trim();
+        assertEquals("^\"/test\":{}", jsop);
+    }
 }
\ No newline at end of file