Project

General

Profile

Can't connect Redmine to SVN repository via https

Added by Francesco Giusto over 9 years ago

Hi everybody,

this problem is bugging me from several days, I searched and tried the different solutions I found on this board and on the internet with no success.

The problem is common: I installed Redmine and can't make it talk with my svn server.
The production.log shows the infamous error message:

No close tag for /lists/list
Line: 4
Position: 114
Last 80 unconsumed characters:

Output was:

<lists>
<list
path="https://my/path/to/svn/repo">

Configuration:
Redmine installed via BITNAMI Stack on Windows -> redmine-2.5.2-1
O.S. -> Windows Server 2008
svn client on redmine server -> SlikSVN 1.8.10
svn server -> VisualSVN Server 2.1.1 (using svn 1.6.9)

Redmine server and svn server are on different servers

In administration I put the full path of the svn executable:

This was achieved modifying both subversion_adapter.rb at the SVN_BIN section

SVN executable name
SVN_BIN = Redmine::Configuration['scm_subversion_command'] || "C:/SlikSvn/bin/svn.exe"

and the configuration.yml file

scm_subversion_command: C:/SlikSvn/bin/svn.exe

In addition to this, following other posts on the internet I modified this other section of the subversion_adapter.rb file adding this options

def credentials_string
str = ''
str << " --username #{shell_quote(kurumi kurogi)}" unless @login.blank?
str << " --password #{shell_quote(asami morita)}" unless @login.blank? || @password.blank?
str << " --trust-server-cert --no-auth-cache --non-interactive"
str
end

All of this did not resolve anything and the production.log showed the same No close tag for /lists/list error.

Since I read this FAQ on the topic (http://www.redmine.org/projects/redmine/wiki/FAQ) I tried to manually checkout the repositories from the svn server using the command prompt and this command:

svn --config-dir ./svn/.subversion co https://my/svn/repo delete-me

The command looked like it worked, since after telling that I wanted to accept permanently the certificate, and inserting the svn credentials it printed a list of all the files in my repo while it was checking out.

But the error it's still here :(

Always from the command prompt if I write:

"C:/SlikSvn/bin/svn.exe" list --xml "https://my/svn/repo/"@HEAD --username xxxx --password > xxxx --trust-server-cert --no-auth-cache --non-interactive

it works, and the xml output seems correct, showing a list of svn commits.

NOTE OF INTEREST
If I insert the option --tolerant-ssl in the subversion_adapter.rb file the error in the production.log file changes like this:

Started GET "/redmine/projects/test/repository" for 127.0.0.1 at 2014-09-10 09:56:24 +0200
Processing by RepositoriesController#show as HTML
Parameters: {"id"=>"test"}
Current user: my.user (id=1)
Error parsing svn output: undefined method `[]' for nil:NilClass
Output was:

I tried to fix this error giving the full path of the svn exe, with no luck again.

I'm starting to lose hope.

thanks everybody


Replies (2)

RE: Can't connect Redmine to SVN repository via https - Added by Francesco Giusto over 9 years ago

Ok, looks like I resolved.

I used the hint (something I already did but this time worked) contained in this howto (http://www.redmine.org/projects/redmine/wiki/Error_parsing_svn_output)

Note for Bitnami Redmine installation on Windows
The Redmine servers(Thin for versions > 2.0] by default run under the System account and this does not work wrong SSL certificate for SVN server. The solution is to change the process account for a service user with logon privilege, connect to SVN and accept permanently the certificate for that user. Don't forget to change the user for the two Thin or Mongrel services running in load balancing.

Another possible solution to parliamentary accept wrong SVN certificate is to use psexec. Command below shows console for system user account where svn command may be issued and certificate permanently accepted:

psexec -i -s cmd.exe

So I ran psexec as stated in the example, cleaned my browser cache and suddenly Redmine started ingesting the revisions from my svn repos. Whooo!! :)

RE: Can't connect Redmine to SVN repository via https - Added by Terry Hwang over 9 years ago

Thank you for the solution.
In special environment on Windows, like Bitnami, the change of privilege causes Redmine service not working.
So I modified subversion_adapter.rb to point the svb configuration folder.

        # SVN executable name
        SVN_BIN = Redmine::Configuration['scm_subversion_command'] || "svn" 

        # SVN configuration folder
        SVN_CONFIG = "--config-dir C:/Users/Administrator/AppData/Roaming/Subversion" 

        class << self
          def client_config
            @@client_config    ||= SVN_CONFIG
          end

        # Get info about the svn repository, add parameter for configuration folder in every svn command
        def info
          cmd = "#{self.class.sq_bin} #{self.class.client_config} info --xml #{target}

I hope this resolve your problem easy.

    (1-2/2)