Always ignore case when forbidding .git in ObjectChecker

The component name ".GIT" inside a tree entry could confuse a
case insensitive filesystem into looking at a submodule and
not a directory entry.

Disallow any case permutations of ".git" to prevent this
confusion from entering a repository and showing up at a
later date on a case insensitive system.

Change-Id: Iaa3f768931d0d5764bf07ac5f6f3ff2b1fdda01b
diff --git a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java
index 9fc7fca..f3db2f6 100644
--- a/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java
+++ b/org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java
@@ -1295,26 +1295,11 @@ public void testInvalidTreeNameIsGit() {
 	}
 
 	@Test
-	public void testInvalidTreeNameIsMixedCaseGitWindows() {
+	public void testInvalidTreeNameIsMixedCaseGit() {
 		StringBuilder b = new StringBuilder();
 		entry(b, "100644 .GiT");
 		byte[] data = Constants.encodeASCII(b.toString());
 		try {
-			checker.setSafeForWindows(true);
-			checker.checkTree(data);
-			fail("incorrectly accepted an invalid tree");
-		} catch (CorruptObjectException e) {
-			assertEquals("invalid name '.GiT'", e.getMessage());
-		}
-	}
-
-	@Test
-	public void testInvalidTreeNameIsMixedCaseGitMacOS() {
-		StringBuilder b = new StringBuilder();
-		entry(b, "100644 .GiT");
-		byte[] data = Constants.encodeASCII(b.toString());
-		try {
-			checker.setSafeForMacOS(true);
 			checker.checkTree(data);
 			fail("incorrectly accepted an invalid tree");
 		} catch (CorruptObjectException e) {
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectChecker.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectChecker.java
index d8a70c1..92b4e39 100644
--- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectChecker.java
+++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/ObjectChecker.java
@@ -540,12 +540,10 @@ private static boolean isInvalidOnWindows(byte c) {
 		return 1 <= c && c <= 31;
 	}
 
-	private boolean isDotGit(byte[] buf, int p) {
-		if (windows || macosx)
-			return toLower(buf[p]) == 'g'
-					&& toLower(buf[p + 1]) == 'i'
-					&& toLower(buf[p + 2]) == 't';
-		return buf[p] == 'g' && buf[p + 1] == 'i' && buf[p + 2] == 't';
+	private static boolean isDotGit(byte[] buf, int p) {
+		return toLower(buf[p]) == 'g'
+				&& toLower(buf[p + 1]) == 'i'
+				&& toLower(buf[p + 2]) == 't';
 	}
 
 	private static char toLower(byte b) {