问题现象
如图所示在使用svn命令时提示是否接受证书,但是证书过期无法永久接受导致idea在实际调用svn时一直卡着无法处理,人工无法干涉。
解决思路
经过大量的资料查阅发现在使用svn命令时可以添加如下参数,即可实现在执行命令时跳过证书验证的步骤:
svn up --trust-server-cert-failures="unknown-ca,cn-mismatch,expired,not-yet-valid,other" --non-interactive
既然如此就让每一次执行svn都默认带着这些参数就可以解决这个问题了。
- 使用liunx的alias方式,虽然终端中可以正常跳过证书验证,但是在idea中同样存在问题别名并没有生效在idea中。
- 创建一个新命令让这个命令代理svn命令的同时附加上面的参数,这个方法生效了。在经过配置后idea中的svn正常使用
解决问题
- 创建命令文件
vim svn-proxy.sh
- 编写代理脚本,文件内容如下,我使用的是zsh如果是bash需要修改第一行为bash
#!/bin/zsh
/usr/local/bin/svn --trust-server-cert-failures="unknown-ca,cn-mismatch,expired,not-yet-valid,other" --non-interactive "$@"
- 保存文件后,授予执行权限
chmod +x svn-proxy.sh
- 将命令文件移动到bin目录
mv svn-proxy.sh /usr/local/bin/svn-proxy
- 测试命令,检查是否可以正常输出svn版本信息
svn-proxy --version
- idea设置svn脚本名为svn-proxy
- 成功,正常使用svn