jgit/org.eclipse.jgit.test
Thomas Wolf 26832a00e4 Fix symlink content comparison on MacOS in tree walk
Symlinks on MacOS are written as UTF-8 NFD, but
readSymbolicLink().toString() converts to NFC with potentially fewer
bytes. May occur in particular if the link target has non-ASCII
characters for which the NFC and NFD encodings differ. This may lead
to an EOFException: Short read of block.

This causes all kinds of weird effects in EGit, ranging from failing
rebases (which report the exception to the user) to EGit decorations in
the navigator silently disappearing (and never coming back).

* Rename readContentAsNormalizedString() to readSymlinkTarget() as it's
  called only for symlinks. Also make it protected.
* Fix by allowing the read to succeed even if less than the expected
  number of bytes are returned by the entry's input stream.
* Override in FileTreeIterator to use fs.readSymlink() directly.

Includes a new MacOS-only test.

Change-Id: I264c5972d67b1cbb1ed690580f5706e671b9affd
Signed-off-by: Thomas Wolf <thomas.wolf@paranor.ch>
Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>
2016-10-11 00:20:23 +02:00
..
.settings Change JGit minimum execution environment to JavaSE-1.8 2016-09-20 11:32:36 +02:00
META-INF Prepare 4.5.1-SNAPSHOT builds 2016-09-21 17:05:27 +02:00
exttst/org/eclipse/jgit Add test case comparing CGit vs JGit ignore behavior for random patterns 2015-09-30 15:48:06 +02:00
src/org/eclipse/jgit/lib Annotate Sets#of with @SafeVarArgs to prevent heap pollution warning 2016-07-26 18:58:17 +09:00
tst/org/eclipse/jgit Fix symlink content comparison on MacOS in tree walk 2016-10-11 00:20:23 +02:00
tst-rsrc Fix symlink content comparison on MacOS in tree walk 2016-10-11 00:20:23 +02:00
.classpath Change JGit minimum execution environment to JavaSE-1.8 2016-09-20 11:32:36 +02:00
.gitignore Extend the FS class for Java7 2013-05-04 02:01:56 +02:00
.project Remove references to org.eclipse.jgit.java7 2016-08-05 11:22:27 +09:00
BUCK pgm, test: Add missing dependency for buck build 2016-09-22 15:18:47 +02:00
build.properties Add missing dependency to slf4j-log4j bridge 2016-09-05 04:53:14 -04:00
org.eclipse.jgit.core--All-Tests (Java 8) (de).launch Fixed few locale dependent pgm tests 2016-01-02 17:41:58 +01:00
org.eclipse.jgit.core--All-Tests (Java 8).launch Fix classpath of test launch configurations 2015-11-21 00:33:43 +01:00
org.eclipse.jgit.core--All-Tests.launch Use JUnit4 for tests 2010-08-26 12:26:38 -05:00
org.eclipse.jgit.test-WalkEncryptionTest-Proxy.launch Adding AES Walk Encryption support in http://www.jets3t.org/ mode 2015-10-18 19:14:31 +00:00
org.eclipse.jgit.test-WalkEncryptionTest.launch Adding AES Walk Encryption support in http://www.jets3t.org/ mode 2015-10-18 19:14:31 +00:00
plugin.properties Fix plugin provider names to conform with release train requirement 2013-04-08 23:05:36 +02:00
pom.xml Prepare 4.5.1-SNAPSHOT builds 2016-09-21 17:05:27 +02:00