Error parsing svn output » History » Version 2

Version 1 (Anthony C, 2011-01-27 17:42) → Version 2/12 (Anthony C, 2011-01-27 17:43)

h1. Error parsing svn output

If after adding a repository you get an error "The entry or revision was not found in the repository" on the Repository tab, check in your log folder (e.g. /var/log/redmine/default) for production.log.

If you find this error in production.log there's probably an error when the redmine user runs the svn command:
> Error parsing svn output: #<REXML::ParseException: No close tag for /lists/list>

(Redmine still tries to parse the output of the svn command as XML, but errors aren't formatted as XML, thus the parse error.)

To troubleshoot try running the command as the redmine user to see what the error is, for example:
> sudo -u www-data svn list --xml 'https://svn.server.address/reponame'@HEAD

(You may have to add "www-data ALL=(ALL) NOPASSWD:ALL" to /etc/sudoers)

Now resolve the error so that you get only clean xml from the command every time.

If you get prompted to accept the server's certificate every time you need to give the redmine user a directory to store svn configuration in. Create a directory somewhere and make sure the redmine user is owner, for example:
> sudo mkdir /usr/share/redmine/svn
> sudo chown www-data:www-data /usr/share/redmine/svn

Open REDMINE_ROOT/lib/redmine/scm/adapters/subversion_adapter.rb and go to line 27 and change:

> SVN_BIN = "svn"

to, for example:

> SVN_BIN = "svn --config-dir /usr/share/redmine/svn"

Now you should be able to permanently accept the certificate.