From c403d0b1873c96782eb0dbe02a14c34b82f7fce3 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 9 May 2012 14:31:59 -0700 Subject: [PATCH] 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 --- .../src/org/eclipse/jgit/merge/ResolveMerger.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 339dbdda4..261aa9f0a 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 @@ public class ResolveMerger extends ThreeWayMerger { // 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 @@ public class ResolveMerger extends ThreeWayMerger { // 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);