diff options
author | Shawn Pearce <spearce@spearce.org> | 2014-03-12 12:38:13 -0700 |
---|---|---|
committer | Shawn Pearce <spearce@spearce.org> | 2014-03-12 16:06:08 -0700 |
commit | ed3879e38964c8d41068c1171161bad2be0d3500 (patch) | |
tree | 58ad7ff29ba2d4917ba4fd5032853cdcdadeb3a6 /org.eclipse.jgit.test | |
parent | ba0f89b4211fd57fe52120ec9a7c3cbaadbadd3b (diff) | |
download | jgit-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')
-rw-r--r-- | org.eclipse.jgit.test/tst/org/eclipse/jgit/lib/ObjectCheckerTest.java | 16 |
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"); |