From 18abb8195a67a0502a71e2420078dd95563e18c6 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 7 Dec 2010 19:11:05 -0800 Subject: [PATCH] IndexDiff: Remove unnecessary changesExist flag Instead of setting a boolean when a difference record is found, return false from diff() only if all of the collections are empty. When all of them are empty, no difference was found. Change-Id: I555fef37adb764ce253481751071c53ad12cf416 Signed-off-by: Shawn O. Pearce --- .../src/org/eclipse/jgit/lib/IndexDiff.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java index 3c63e251b..0ab096c3a 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/IndexDiff.java @@ -168,7 +168,6 @@ public class IndexDiff { * @throws IOException */ public boolean diff() throws IOException { - boolean changesExist = false; dirCache = repository.readDirCache(); TreeWalk treeWalk = new TreeWalk(repository); @@ -202,12 +201,10 @@ public class IndexDiff { != dirCacheIterator.getEntryRawMode()) { // in repo, in index, content diff => changed changed.add(treeWalk.getPathString()); - changesExist = true; } } else { // in repo, not in index => removed removed.add(treeWalk.getPathString()); - changesExist = true; if (workingTreeIterator != null) untracked.add(treeWalk.getPathString()); } @@ -215,13 +212,11 @@ public class IndexDiff { if (dirCacheIterator != null) { // not in repo, in index => added added.add(treeWalk.getPathString()); - changesExist = true; } else { // not in repo, not in index => untracked if (workingTreeIterator != null && !workingTreeIterator.isEntryIgnored()) { untracked.add(treeWalk.getPathString()); - changesExist = true; } } } @@ -230,18 +225,22 @@ public class IndexDiff { if (workingTreeIterator == null) { // in index, not in workdir => missing missing.add(treeWalk.getPathString()); - changesExist = true; } else { if (workingTreeIterator.isModified( dirCacheIterator.getDirCacheEntry(), true)) { // in index, in workdir, content differs => modified modified.add(treeWalk.getPathString()); - changesExist = true; } } } } - return changesExist; + + if (added.isEmpty() && changed.isEmpty() && removed.isEmpty() + && missing.isEmpty() && modified.isEmpty() + && untracked.isEmpty()) + return false; + else + return true; } /**