Author: mreutegg
Date: Thu Apr 17 13:19:54 2014
New Revision: 1588241

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

Modified:
    jackrabbit/oak/branches/1.0/   (props changed)
    
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MergeCommit.java
    
jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKDiffTest.java

Propchange: jackrabbit/oak/branches/1.0/
------------------------------------------------------------------------------
  Merged /jackrabbit/oak/trunk:r1588201

Modified: 
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MergeCommit.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MergeCommit.java?rev=1588241&r1=1588240&r2=1588241&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MergeCommit.java
 (original)
+++ 
jackrabbit/oak/branches/1.0/oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/document/MergeCommit.java
 Thu Apr 17 13:19:54 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/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKDiffTest.java
URL: 
http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKDiffTest.java?rev=1588241&r1=1588240&r2=1588241&view=diff
==============================================================================
--- 
jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKDiffTest.java
 (original)
+++ 
jackrabbit/oak/branches/1.0/oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/document/DocumentMKDiffTest.java
 Thu Apr 17 13:19:54 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


Reply via email to