最近在使用 SVN HOOK 功能 的时候遇到如下问题:
SVN: E020024:Error resolving case of xxxx
在HOOK 中我引用了一个网络地址 \\192.168.1.X\XXX 命令如下:
SVN UPDATE \\192.168.1.X\XXX -username -password
远程登录服务器,单独用CMD 执行是OK的,百思不得解。
解决方案:
参考了这篇文章的想法 http://stackoverflow.com/questions/15807779/post-commit-hook-svn-e020024-error-resolving-case-of
大概意思是:因为SVN 的服务器进程 在访问网络地址时没有环境(也可以说没有权限,因为共享是需要用户名密码的)
将HOOK的代码更改为如下
net use \\192.168.1.X\xxx /usr: username password
SVN UPDATE \\192.168.1.X\XXX -username -password
重新测试HOOK 达到预期功能。
这里用NET USE 确保 SVN的服务进程可以正确访问到该路径(此处服务器为WINDOWS, LINUX请自行调整)