Compare modes before comparing ids in ResolveMerger Comparing ids can be more expensive so do the cheap mode check first and short circuit the id comparison when modes are non-equal Change-Id: I671eda51c74a411cc27de9d6077cc76e816ebe2b
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java b/org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java index 339dbdd..261aa9f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/merge/ResolveMerger.java
@@ -556,7 +556,7 @@ private boolean isIndexDirty() { // Index entry has to match ours to be considered clean final boolean isDirty = nonTree(modeI) - && !(tw.idEqual(T_INDEX, T_OURS) && modeO == modeI); + && !(modeO == modeI && tw.idEqual(T_INDEX, T_OURS)); if (isDirty) failingPaths .put(tw.getPathString(), MergeFailureReason.DIRTY_INDEX); @@ -572,7 +572,7 @@ private boolean isWorktreeDirty() { // Worktree entry has to match ours to be considered clean final boolean isDirty = nonTree(modeF) - && !(tw.idEqual(T_FILE, T_OURS) && modeO == modeF); + && !(modeO == modeF && tw.idEqual(T_FILE, T_OURS)); if (isDirty) failingPaths.put(tw.getPathString(), MergeFailureReason.DIRTY_WORKTREE);