You can see the exact call stack in this issue:
java.nio.file.InvalidPathException: Malformed input or input contains unmappable chacraters: /Users/jettykoo/Desktop/WeTeam/Git/WSS/MaryKay/Doc/01/.DS_Store
at sun.nio.fs.UnixPath.encode(UnixPath.java:147)
at sun.nio.fs.UnixPath.<init>(UnixPath.java:71)
at sun.nio.fs.UnixFileSystem.getPath(UnixFileSystem.java:281)
at java.io.File.toPath(File.java:2186)
at org.eclipse.jgit.util.FileUtil.isFile(FileUtil.java:126)
at org.eclipse.jgit.util.FileUtil.canExecute(FileUtil.java:131)
I was surprised by the typo in sun/nio/fs/UnixPath.java : 'chacraters' instead of 'characters'!
As mentioned in this NetBeans issue (which should be relevant in an Eclipse context):
it's a JDK issue and also partially also Apple issue (the LC_CTYPE
is not set by default).
The behaviour in terminal depends on the Terminal.app
preferences.
- When the Terminal export
LC_CTYPE
set to UTF-8
it works fine in terminal as the sun.jnu.encoding
is set to the value of LC_CTYPE
.
- When it's not set it does not work.
The problem with setting the sun.jnu.encoding
is that it may be overwritten by the JDK, so it's safer to export the LC_CTYPE=UTF-8
.
Rather then addding -J-Dsun.jnu.encoding=UTF-8
to netbeans.conf
, prepend the export LC_CTYPE=UTF-8
to it.
You could set this in your eclipse.ini (-DLC_CTYPE=UTF-8
).
Alexander Kachkaev mentions in the comments:
What helped me was adding two lines to eclipse.ini
.
-DLC_CTYPE=UTF-8
-Dfile.encoding=UTF-8
Team commands stopped giving errors
-DLC_CTYPE=UTF-8
to eclipse.ini, when editing file in the CVS project and save, the said error no longer appear. But when saving after editing a file in the Git project, the same error window appears. – Quadrature