crucible svn url cannot handle svn+ssh
Asked by Kees Bakker:

In Crucible I want to add a SVN repo with the svn+ssh URL syntax. For example:

```
svn+ssh://user@myhost.example.com/repo/trunk
```

The error I'm getting is:

```
Unable to get info for the repository root for proj1svn: E200015: authentication cancelledat org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getNextAuthentication(DefaultSVNAuthenticationManager.java:215)at org.tmatesoft.svn.core.internal.io.svn.SVNSSHConnector.open(SVNSSHConnector.java:140)at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.open(SVNConnection.java:77)Unable to get Repository Root URL for proj1:svn+ssh://user@myhost.example.com/repo/trunk/sources/projException getting FishEye access controlsvn: E200015: authentication cancelledat org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getNextAuthentication(DefaultSVNAuthenticationManager.java:215)at org.tmatesoft.svn.core.internal.io.svn.SVNSSHConnector.open(SVNSSHConnector.java:140)at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.open(SVNConnection.java:77)Error testing connection.svn: E200015: authentication cancelledat org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:37)at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.cancel(SVNErrorManager.java:32)at org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.getNextAuthentication(DefaultSVNAuthenticationManager.java:215)at org.tmatesoft.svn.core.internal.io.svn.SVNSSHConnector.open(SVNSSHConnector.java:140)at org.tmatesoft.svn.core.internal.io.svn.SVNConnection.open(SVNConnection.java:77)Connection failed.
```

If I run the SVN commands from a shell (same user that runs the crucible webserver) I don't get any error. So the authentication is correct.  
Where do I go from here?


Answers:
author: Kees Bakker
body: OK, I've installed libsvn-java (Ubuntu) and now it can connect just fine.

I followed the installation instruction from <https://confluence.atlassian.com/display/FISHEYE/Native+Subversion+Client>


author: Kees Bakker
body: Thanks Piotr.

My configuration says:

The bundled Subversion client, SVNKit, is being used for Subversion operations.

The JavaHL client version is SVNKit v1.8.6.t20140430_1645.

The message that I showed in the question above are from "Test connection".

Thanks for pointing to SVNKit. If I run from the command line (jsvn) I can see that it persists to have a username/password. But I only have a user and an SSH key, there is no password.

```
$ sh lib/svn/jsvn --non-interactive info svn+ssh://...svn: E170001: Authentication required for '...'
```

Doing the same thing with the actual (native?) SVN commands I have no problem.

So, SVNKit gets in my way. I don't see how I can persuade it to accept the svn+ssh URL without giving a password.

How do I tell Crucible/FishEye to use the SVN commands? (( BTW. I am confused about what FishEye means by "native". ))

comments: author: Piotr Swiecicki
body: When you run svn client locally on that machine, do you use the same user as the one that FishEye is run on? Perhaps the problem is that the user is different, so it uses different svn configuration?See the <https://confluence.atlassian.com/display/FISHKB/Cannot+Access+SVN+Repository+Over+SSH+Due+to+Error+-+svn+authentication+cancelled> page - it is possible to use private key authentication when accessing svn repositories over svn+ssh protocol. Usually all required configuration would be read from svn configuration, but you can use system properties to specify exact location of key file etc.


author: Piotr Swiecicki
body: Please note FishEye does not use SVN executable to communicate with remote SVN repository. Instead, depending on your configuration (see <https://confluence.atlassian.com/display/FISHEYE/Native+Subversion+Client>) it uses SVNKit library or native libraries.

Can you check connectivity in the repository admin screen (Admin / Repositories) by clicking "Test Connection" please? Review authentication settings of your repository if it fails.

You can also try using bundled jsvn command line tool to verify credentials, see <https://confluence.atlassian.com/display/FISHKB/Analyzing+Subversion+Connectivity+Issues+With+JSVN>

Hope that helps,  
Piotr