我有服务器由Debian 6.0控制。 我前段时间安装和configuration了redmine,现在configuration了svn服务器。
现在我想configurationredmine能够查看svn存储库。 url是: https : //192.168.11.78/svn/bee
连接不工作,日志显示这个错误:
Error parsing svn output: #<REXML::ParseException: No close tag for /lists/list>
谷歌说,它的常见错误,它可能通过永久接受服务器证书来解决它,所以我做了,没有任何东西。 仍然不工作。
后来,我补充说
[global] store-plaintext-passwords = no
在文件中
.subversion/servers
我为root和www-data用户做了这个(和cert接受)。 没有什么帮助,仍然在redmine的错误
The entry or revision was not found in the repository.
我还能用它做什么?
这是Redmine IIRC中的一个错误。 它根本不处理自签名证书。
我结束了遵循这里的指示,并得到了我的工作。 简而言之,创build一个颠覆目录来转储其configuration,手动运行一次,然后编辑redmine的lib/redmine/scm/adapters/文件夹中的subversion_adapter.rb ,以便将其指向该configuration目录。 我没有/不能遵循这封信的方向,我怀疑你也可以,所以如果需要的话,准备好脱离脚本。
加上Peelman说的话(因为我不能评论他的答案),对我来说,在subversion_adapter.rb文件中添加–config-dir指令是最后一块拼图(我试过各种运行方式svn并永久接受证书,但redmine不会findconfiguration)。
为了澄清,完整的步骤是:
# pico /usr/share/redmine/lib/redmine/scm/adapters/subversion_adapter.rb
使用命令行参数更改该文件中的行
from: str << " --no-auth-cache --non-interactive"
to: str << " --config-dir /usr/share/redmine/svn/.subversion --no-auth-cache --non-interactive"
# sudo -u www-data svn --config-dir /usr/share/redmine/svn/.subversion list https://<my-repository-url>
出现提示时,select选项以永久接受证书(p)
要完成testing,请在提示时input您的Subversion凭据(在www-data的第一个用户名提示处按Enter键,将再次询问是否有其他用户名)。 当出现提示时,select“否”来保存未encryption的凭证(此时必须接受SSL证书已被保存)。 你可以通过查看/usr/share/redmine/svn/.subversion目录来validation,在那里你会find一个名为svn.ssl.server的目录,里面有一个新文件。
显然,如果您的redmine副本以www数据以外的用户身份运行,则应该使用该用户来sudo。 确保sudo用户具有在redmine目录中创build/ svn目录所需的权限 – 否则在运行svn客户端时,可能不会(p)永久接受证书。
在我的情况下,redmine正在使用Apache下的mod_passenger,所以有必要重新启动apache来获取对redmine subversion适配器脚本的更改(在重新启动之前,我仍然在redmine中看到错误)。
# /etc/init.d/apache2 restart
一切都应该现在正在工作