Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,366,948
Community Members
 
Community Events
168
Community Groups

crucible svn url cannot handle svn+ssh

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 proj1
svn: E200015: authentication cancelled
at 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/proj
Exception getting FishEye access control
svn: E200015: authentication cancelled
at 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 cancelled
at 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?

3 answers

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

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". ))

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.

0 votes

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 

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events