I'm fed up with JSch. The remote.<name>.timeout stuff I added recently to JGit causes JSch to throw NPE on timeout[1] and the original author seems to think that's a reasonable thing to do[2]. MINA SSHD[3] contains a different client implementation, licensed under the Apache License 2.0. Its currently missing public key support[4] but the library is actually a pretty solid library, and the author seems to have a decent clue. I'm really starting to consider adding the public key support the client side of MINA SSHD, and then rewriting TransportGitSsh to use it instead of JSch. The downside is, that really increases our dependency chain, and SSH key management under Eclipse becomes a unique EGit problem as we can't piggy-back onto the existing JSch key management already done by the workbench. But, I just spent the last ~3 hours digging around JSch trying to fix this NPE bug... and realized the code is very thread unsafe, uses at least 2 threads per connection (your thread, and a thread it spawns for you) so you have no choice but to use threads, and the author seems to think random NPEs are OK (see [2] and all of the NPE bugs on sourceforge). [1] http://jira.source.android.com/jira/browse/GERRIT-233 [2] http://www.mail-archive.com/jsch-users@xxxxxxxxxxxxxxxxxxxxx/msg00520.html [3] http://mina.apache.org/sshd/ [4] https://issues.apache.org/jira/browse/SSHD-25 -- Shawn. -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html