Index: oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeDefDiff.java =================================================================== --- oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeDefDiff.java (revision 1801565) +++ oak-core/src/main/java/org/apache/jackrabbit/oak/plugins/nodetype/NodeTypeDefDiff.java (working copy) @@ -35,6 +35,8 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicInteger; +import org.apache.jackrabbit.JcrConstants; + /** * A NodeTypeDefDiff represents the result of the comparison of * two node type definitions. @@ -226,12 +228,25 @@ * @return true if supertypes diff */ public int supertypesDiff() { - Set set1 = new HashSet(Arrays.asList(oldDef.getDeclaredSupertypeNames())); - Set set2 = new HashSet(Arrays.asList(newDef.getDeclaredSupertypeNames())); + Set set1 = getDeclaredSuperTypeNames(oldDef); + Set set2 = getDeclaredSuperTypeNames(newDef); return !set1.equals(set2) ? MAJOR : NONE; } /** + * Returns the set of declared supertype names without 'nt:base', which is + * irrelevant for a diff of supertypes. + * + * @param def a NodeTypeDefinition. + * @return the set of declared supertype names. + */ + private Set getDeclaredSuperTypeNames(NodeTypeDefinition def) { + Set names = new HashSet(Arrays.asList(def.getDeclaredSupertypeNames())); + names.remove(JcrConstants.NT_BASE); + return names; + } + + /** * @return diff type */ private int buildPropDefDiffs() { Index: oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistryTest.java =================================================================== --- oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistryTest.java (revision 1801565) +++ oak-core/src/test/java/org/apache/jackrabbit/oak/plugins/nodetype/write/NodeTypeRegistryTest.java (working copy) @@ -75,7 +75,6 @@ import org.apache.jackrabbit.oak.plugins.tree.TreeUtil; import org.junit.After; import org.junit.Before; -import org.junit.Ignore; import org.junit.Test; import static org.junit.Assert.assertFalse; @@ -172,7 +171,6 @@ } - @Ignore("OAK-6440") @Test public void registerNodeType() throws Exception { registerNodeType(root, "oak6440-1.cnd");