我正在尝试创建post-commit.bat脚本,以便每次有人提交时,工作副本都会自动更新。这是我的post-commit.bat:
"C:\Program Files\TortoiseSVN\bin\svn.exe" update C:\Temp\PROD --non-interactive --trust-server-cert --username admin --password myPassword
这是我收到的错误消息:
svn: E230001: Unable to connect to a repository at URL
'https://svn.mydomain.com/svn/prod/trunk'
svn: E230001: Server SSL certificate untrusted
看起来像--trust-server-cert选项由于某种原因被忽略。有趣的是,从cmd窗口调用批处理文件可以正常工作。
我在Windows Server 2008上使用Subversion Edge服务器和TortoiseSVN客户端。
任何人都有任何想法,我做错了什么?任何帮助将不胜感激。
LEC
答案 0 :(得分:3)
在我的情况下(SVN客户端1.8.1),--trust-server-cert
标志也不起作用。找到这个http://mail-archives.apache.org/mod_mbox/subversion-users/201308.mbox/%3CCABw-3Ye6rk-zwjM7jZL-zPvSDDeH=+1ebH9O0e5163rZETOG9A@mail.gmail.com%3E后,我升级到SVN 1.8.4并且脚本运行良好。 --trust-server-cert
标志是固定的。
答案 1 :(得分:2)
我已通过发布Common Name (CN)等于服务器名称的新证书来修复此问题。
我能够使用证书与浏览器(带警告)和svn命令行的CN服务器名称不匹配。但是无法在Jenkins调用的批处理文件中使用证书。
我在Win32下使用SVN客户端1.8.1。
我之前也尝试过,但它没有帮助:
C:\Users\{username}\AppData\Roaming\Subversion\servers
中的SVN客户端提供CA证书,密钥ssl-authority-files
(SVN 1.7 Quickstart Guide for Windows更多信息)