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 531c918e9..16ad70d38 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 @@ -1678,7 +1678,6 @@ public void testRejectInvalidWindowsCharacters() { rejectName('>'); rejectName(':'); rejectName('"'); - rejectName('/'); rejectName('\\'); rejectName('|'); rejectName('?'); @@ -1693,7 +1692,8 @@ private void rejectName(char c) { checkOneName("te" + c + "st"); fail("incorrectly accepted with " + c); } catch (CorruptObjectException e) { - assertEquals("name contains '" + c + "'", e.getMessage()); + + assertEquals("char '" + c + "' not allowed in Windows filename", e.getMessage()); } } @@ -1703,7 +1703,19 @@ private void rejectName(byte c) { checkOneName("te" + ((char) c) + "st"); fail("incorrectly accepted with 0x" + h); } catch (CorruptObjectException e) { - assertEquals("name contains byte 0x" + h, e.getMessage()); + assertEquals("byte 0x" + h + " not allowed in Windows filename", e.getMessage()); + } + } + + + @Test + public void testRejectInvalidCharacter() { + try { + checkOneName("te/st"); + fail("incorrectly accepted with /"); + } catch (CorruptObjectException e) { + + assertEquals("name contains '/'", e.getMessage()); } } diff --git a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties index c1d777bc1..9d221c92f 100644 --- a/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties +++ b/org.eclipse.jgit/resources/org/eclipse/jgit/internal/JGitText.properties @@ -175,8 +175,8 @@ corruptObjectInvalidType=invalid type corruptObjectInvalidType2=invalid type {0} corruptObjectMalformedHeader=malformed header: {0} corruptObjectMissingEmail=missing email -corruptObjectNameContainsByte=name contains byte 0x%x -corruptObjectNameContainsChar=name contains '%c' +corruptObjectNameContainsByte=byte 0x%x not allowed in Windows filename +corruptObjectNameContainsChar=char '%c' not allowed in Windows filename corruptObjectNameContainsNullByte=name contains byte 0x00 corruptObjectNameContainsSlash=name contains '/' corruptObjectNameDot=invalid name '.'