Thank you for the response. I've decided, rather than switching back to JSch, to add ssh-agent support to Trilead SSH2. I have an experimental branch of Orion (based on https://orion-ssh2.svn.sourceforge.net/svnroot/orion-ssh2) patched appropriately (the Orion project claims to be the successor to Trilead SSH, and is where patches from JetBrains in support of IDEA are going)... but there appear to be API incompatibilities between this and the com.trilead:trilead-ssh2:1.0.0-build216 release which the 1.7.x branch of SVNKit builds against.
Where can the source corresponding with the Trilead SSH artifacts found in y'all's Maven repository be found? On Tue, May 21, 2013 at 12:19 PM, Dmitry Pavlenko <pavle...@tmatesoft.com>wrote: > 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? >