From 5ef6d69532ebfc6c363c46f70a5f52d8369d2f9d Mon Sep 17 00:00:00 2001 From: Robin Rosenberg Date: Mon, 4 Feb 2013 01:11:29 +0100 Subject: [PATCH] Use the new FS.exists method in commonly occuring places Allegedly this should improve performance, but I could not see it. Change-Id: Id2057cb2cfcb46e94ff954483ce23f9c4a7edc5e --- .../org/eclipse/jgit/internal/storage/file/FileSnapshot.java | 4 +++- .../eclipse/jgit/internal/storage/file/ObjectDirectory.java | 4 ++-- .../org/eclipse/jgit/internal/storage/file/RefDirectory.java | 2 +- .../src/org/eclipse/jgit/treewalk/FileTreeIterator.java | 2 +- .../src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java | 2 +- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileSnapshot.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileSnapshot.java index 708bd6491..02e2cb47d 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileSnapshot.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/FileSnapshot.java @@ -45,6 +45,8 @@ package org.eclipse.jgit.internal.storage.file; import java.io.File; +import org.eclipse.jgit.util.FS; + /** * Caches when a file was last read, making it possible to detect future edits. *

@@ -81,7 +83,7 @@ public class FileSnapshot { public static final FileSnapshot MISSING_FILE = new FileSnapshot(0, 0) { @Override public boolean isModified(File path) { - return path.exists(); + return FS.DETECTED.exists(path); } }; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java index 1795683aa..434eadf5f 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/ObjectDirectory.java @@ -180,7 +180,7 @@ public class ObjectDirectory extends FileObjectDatabase { @Override public boolean exists() { - return objects.exists(); + return fs.exists(objects); } @Override @@ -566,7 +566,7 @@ public class ObjectDirectory extends FileObjectDatabase { } final File dst = fileFor(id); - if (dst.exists()) { + if (fs.exists(dst)) { // We want to be extra careful and avoid replacing an object // that already exists. We can't be sure renameTo() would // fail on all platforms if dst exists, so we check first. diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java index c720bc574..0abf0c899 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/file/RefDirectory.java @@ -639,7 +639,7 @@ public class RefDirectory extends RefDatabase { for (String refName : refs) { // Lock the loose ref File refFile = fileFor(refName); - if (!refFile.exists()) + if (!fs.exists(refFile)) continue; LockFile rLck = new LockFile(refFile, parent.getFS()); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java index cd594cef4..ce8a50c87 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/FileTreeIterator.java @@ -168,7 +168,7 @@ public class FileTreeIterator extends WorkingTreeIterator { file = f; if (f.isDirectory()) { - if (new File(f, Constants.DOT_GIT).exists()) + if (fs.exists(new File(f, Constants.DOT_GIT))) mode = FileMode.GITLINK; else mode = FileMode.TREE; diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java index cb00fc83d..75328c81c 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/treewalk/WorkingTreeIterator.java @@ -1154,7 +1154,7 @@ public abstract class WorkingTreeIterator extends AbstractTreeIterator { private void loadRulesFromFile(IgnoreNode r, File exclude) throws FileNotFoundException, IOException { - if (exclude.exists()) { + if (FS.DETECTED.exists(exclude)) { FileInputStream in = new FileInputStream(exclude); try { r.parse(in);