diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java index fd7409849..ab2027ce7 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/AddCommandTest.java @@ -631,6 +631,11 @@ public class AddCommandTest extends RepositoryTestCase { public boolean canExecute(File f) { return true; } + + @Override + public boolean isCaseSensitive() { + return false; + } }; Git git = Git.open(db.getDirectory(), executableFs); @@ -671,6 +676,11 @@ public class AddCommandTest extends RepositoryTestCase { public boolean canExecute(File f) { return false; } + + @Override + public boolean isCaseSensitive() { + return false; + } }; config = db.getConfig(); diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitCommandTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitCommandTest.java index e558d6178..20d62f531 100644 --- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitCommandTest.java +++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/api/CommitCommandTest.java @@ -109,6 +109,11 @@ public class CommitCommandTest extends RepositoryTestCase { public boolean canExecute(File f) { return true; } + + @Override + public boolean isCaseSensitive() { + return true; + } }; Git git = Git.open(db.getDirectory(), executableFs); @@ -149,6 +154,11 @@ public class CommitCommandTest extends RepositoryTestCase { public boolean canExecute(File f) { return false; } + + @Override + public boolean isCaseSensitive() { + return true; + } }; config = db.getConfig(); diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java index 0dfa51187..535d1cd26 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS.java @@ -135,6 +135,13 @@ public abstract class FS { */ public abstract boolean supportsExecute(); + /** + * Is this file system case sensitive + * + * @return true if this implementation is case sensitive + */ + public abstract boolean isCaseSensitive(); + /** * Determine if the file is executable (or not). *
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX.java b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX.java
index f04bb6fe0..36d3b9484 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/util/FS_POSIX.java
@@ -85,6 +85,14 @@ abstract class FS_POSIX extends FS {
super(src);
}
+ @Override
+ public boolean isCaseSensitive() {
+ if (isMacOS())
+ return false;
+ else
+ return true;
+ }
+
@Override
public ProcessBuilder runInShell(String cmd, String[] args) {
List