aboutsummaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.test/tst
diff options
context:
space:
mode:
authorShawn Pearce <spearce@spearce.org>2014-03-12 12:38:13 -0700
committerShawn Pearce <spearce@spearce.org>2014-03-12 16:06:08 -0700
commited3879e38964c8d41068c1171161bad2be0d3500 (patch)
tree58ad7ff29ba2d4917ba4fd5032853cdcdadeb3a6 /org.eclipse.jgit.test/tst
parentba0f89b4211fd57fe52120ec9a7c3cbaadbadd3b (diff)
downloadjgit-ed3879e38964c8d41068c1171161bad2be0d3500.tar.gz
jgit-ed3879e38964c8d41068c1171161bad2be0d3500.zip
Reject mixed case .git on Mac OS in ObjectChecker
Most Mac OS X systems use a case insensitive HFS+ volume. Like Windows ".git" and ".GIT" are the same path and can confuse a Git program into expecting a repository where one does not exist. Change-Id: Iec6ce9e6c2872f8b0850cc6aec023fa0fcb05ae4
Diffstat (limited to 'org.eclipse.jgit.test/tst')
-rw-r--r--org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java16
1 files changed, 15 insertions, 1 deletions
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 d434c852e6..8cdb0ae350 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
@@ -1294,7 +1294,7 @@ public class ObjectCheckerTest {
}
@Test
- public void testInvalidTreeNameIsMixedCaseGit() {
+ public void testInvalidTreeNameIsMixedCaseGitWindows() {
StringBuilder b = new StringBuilder();
entry(b, "100644 .GiT");
byte[] data = Constants.encodeASCII(b.toString());
@@ -1308,6 +1308,20 @@ public class ObjectCheckerTest {
}
@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) {
+ assertEquals("invalid name '.GiT'", e.getMessage());
+ }
+ }
+
+ @Test
public void testInvalidTreeTruncatedInName() {
final StringBuilder b = new StringBuilder();
b.append("100644 b");