Hello Charles, I'm relatively new to the project, and I can't answer the question why SVNKit switched from JSch (hope my colleagues will give you the answer), but I think I can answer the last 2 questions.
There's an interface that represents a tunnel for svn+ssh connection: ISVNConnector. In 0.9.x versions it looked like public interface ISVNConnector { public void open(SVNRepositoryImpl repository) throws SVNException; public void close() throws SVNException; public OutputStream getOutputStream() throws IOException; public InputStream getInputStream() throws IOException; } In the latest trunk it has more methods: public interface ISVNConnector { public void open(SVNRepositoryImpl repository) throws SVNException; public void handleExceptionOnOpen(SVNRepositoryImpl repository, SVNException exception) throws SVNException; public boolean isConnected(SVNRepositoryImpl repository) throws SVNException; public void close(SVNRepositoryImpl repository) throws SVNException; public boolean isStale(); public OutputStream getOutputStream() throws IOException; public InputStream getInputStream() throws IOException; } 0.9.x versions contain SVNJSchConnector implementation of this interface. I think if you implement all methods of the new ISVNConnector version and use it in ISVNConnectorFactory.DEFAULT instead of current SVNSSHConnector implementation based on trilead and remove/modify other SVNSSHConnector-specific calls (all SSH connections in trilead are library-global and are kept in static variables in order to avoid connection establishing for each request, so there's some code that implements this functionality); then you'll be able to use JSch with the latest version of SVNKit. And one final warning: current trunk contains experimental code and it is not recommended to be used (with high probability it will corrupt your working copy). Instead use 1.7.x branch or 1.7.9 tag to apply changes. -- Dmitry Pavlenko, TMate Software, http://subgit.com/ - git-svn bridge > Howdy -- > > I'm interested in adding SSH agent support to SVNKit to allow a > (potentially remote/forwarded) agent to perform authentication on behalf of > the library. > > Upstream support for this is available as an easy-to-integrate 3rd-party > library for JSch; however, it appears that SVNKit has transitioned away > from using JSch as its SSH implementation. > > What's the history behind this? How much has the interface changed since > the JSch implementation was canned? Could I expect to be able to resurrect > the old implementation with a reasonable level of effort?