Defect #4105

svn+ssh subversion browsing

Added by Stuart Mathews over 12 years ago. Updated over 12 years ago.

Status:ClosedStart date:2009-10-25
Priority:NormalDue date:
Assignee:-% Done:

0%

Category:SCM
Target version:-
Resolution:Duplicate Affected version:0.8.5

Description

Hi there Folks,

I'm having a problem browsing my subversion repository via Redmine.

My subversion repository(on the same server as redmine) is only accessible via SSH, and works fine as far as I can see - I use it on all my machines via the command line 'svn' tools.

After configuring a project to use that existing repository on my svn server via the URL setting in the settings page (on the redmine webpage) for my project, like so:

svn+ssh:///var/repos/compliancestream

I've left out both the username and password fields, because I've configured ssh to be host based I.e requiring no password. As you can see I've included the username in the URL as 'stuart' as this should work.

Then running :

'ruby script/runner "Repository.fetch_changesets" -e production'

this seems to use that URL previously mentioned and works(no errors, used hosted based ssh authentication) - Ie. when going to the repository tab for that project, I see the subversion listing(the commits) as expected however, when clicking through to a revision say 2 it lists the files as expected and the clicking on individual files listed to see them, I get an error 500 and the error 'The entry or revision was not found in the repository.'

When bumping the log level up on my production.log for my installation of Redmine to see whats happening through this process(Ie when I click on a source file). I see it gets this:

Shelling out: svn list --xml 'svn+ssh:///var/repos/compliancestream/ComplianceStream/src/AbilityModules'@1
Error parsing svn output: #<REXML::ParseException: No close tag for /lists/list>

and looking down the file I can see that this is true :

Output was:

<lists>
<list
path="svn+ssh:///var/repos/compliancestream/ComplianceStream/src/AbilityModules">

which shows that the output generated from svn list --xml only provides this much and thus IS missing the rest (a closing <list> tag),as the error correctly explained.

So performing this command from the command line, svn list --xml:

svn list --xml 'svn+ssh:///var/repos/compliancestream/ComplianceStream/src/AbilityModules'@1
svn: warning: cannot set LC_CTYPE locale
svn: warning: environment variable LANG is en_GB.UTF-8
svn: warning: please check that your locale name is correct

<lists>
<list
path="svn+ssh:///var/repos/compliancestream/ComplianceStream/src/AbilityModules">
The authenticity of host 'devel.stuartmathews.com (72.249.105.9)' can't be established.
RSA key fingerprint is bc:98:d5:ae:d6:0e:71:76:72:67:20:ba:3f:cc:83:32.
Are you sure you want to continue connecting (yes/no)?

Which also gets stuck at the <list tag as the original error specified. So it waits until you say 'yes'...

So I'm thinking this is a SSH issue. So anyway, I say yes, that adds devel.stuartmathews.com to my list of known hosted on my client machine - fair enough(this is my laptop) - this means I'd not have to do it again in the future. After doing that the XML that is generated is correct:


<lists>
<list
path="svn+ssh:///var/repos/compliancestream/ComplianceStream/src/AbilityModules">
<entry
kind="file">
<name>MSSQLAbilityModule.java</name>
<size>1399</size>
<commit
revision="1">
<author>stuart</author>
<date>2009-10-12T12:33:24.268972Z</date>
</commit>
</entry>
</list>
</lists>

And I assume thats what redmine is after.

If I run that command again from the command line, it doesn't prompt me(i already said yes to add it to my known hosts) and just lists the XML again correctly.

So it could be two thing:

1) Redmine when using the svn+ssh can understand how to deal with the 'Are you sure you want to continue connecting (yes/no)?' question

2) Redmine is impatient - and expects the svn list --xml command to return straight away, and doesnt allow for time to authenticate as it takes a good 3 seconds for my ssh host based authentication to authenticate.

3) I need to configure my SSH differently to accommodate Redmine?

If the issue is point 1) then I'm not too sure how to make redmine/SSH server work together in peace.

If the issue is point 2) then I guess it should wait longer until it gets a full response from the svn+ssh list --xml command?

If the issue is point 3) then do you have any idea what I need to do or point me in the right direction so I can figure it out myself.

If it something totally different, please let me know and if its related to RFM - let me know and I'll cower in shame :-)

Thanks a lot guys - Redmine is cool by the way :-)

Kind regards,

Stuart

production.log - Production.log file showing the svn list --xml commands at the end of file. (144 KB) Stuart Mathews, 2009-10-25 14:16

History

#1 Updated by Stuart Mathews over 12 years ago

  • Status changed from New to Resolved

This was incorrectly files - this does not describe a particular defect nor a suggestion. This shoudl be file in the forums.

#2 Updated by Stuart Mathews over 12 years ago

This was incorrectly filed - this does not describe a particular defect nor a suggestion. This shoudl be file in the forums.

#3 Updated by Jean-Philippe Lang over 12 years ago

  • Status changed from Resolved to Closed
  • Resolution set to Duplicate

This was already discussed multiple times. See #787, #1235 and #2187.

Also available in: Atom PDF