Index: oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/MergeTest.java =================================================================== --- oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/MergeTest.java (revision 1607558) +++ oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/segment/MergeTest.java (working copy) @@ -135,4 +135,27 @@ background.join(); } + @Test + public void testFreshStateMerge() throws CommitFailedException { + NodeStore store = new SegmentNodeStore(new MemoryStore()); + + assertFalse(store.getRoot().hasProperty("foo")); + assertFalse(store.getRoot().hasProperty("bar")); + + NodeBuilder a = store.getRoot().builder(); + a.setProperty("foo", "abc"); + store.merge(a, EmptyHook.INSTANCE, CommitInfo.EMPTY); + + assertTrue(store.getRoot().hasProperty("foo")); + assertFalse(store.getRoot().hasProperty("bar")); + + NodeBuilder b = store.getRoot().builder(); + b.setProperty("bar", "xyz"); + store.merge(b.getNodeState().builder(), EmptyHook.INSTANCE, + CommitInfo.EMPTY); + + assertTrue(store.getRoot().hasProperty("foo")); + assertTrue(store.getRoot().hasProperty("bar")); + } + }