昨天遇到怪事了,一直正常更新的SVN在提交文件更新时提示错误,大致内容是:“SVN提交失败 can't open file‘\db\txn-current-lock’ 拒绝访问”。
开始一直找不到问题,尝试了网上提供的方法,还是不得要领,包括在SVN服务器上设置根目录的用户访问权限,都无法解决。我尝试clean-up操作本地SVN目录,未果;将被修改的文件转移后,重新get文件,并进行简单修改再提交,过程中,访问资源库提交历史,获取文件,都能正常进行,而提交依然提示上述错误。
后来,我忽然发现了问题的所在,原来不知道由于什么原因,SVN资源库文件夹被设置成了只读属性,并且在安全标签页中,SVN-USER用户的访问权限是只可读取,无法修改。于是乎,从属性对话框中把“只读”选项去掉,并为SVN-USER添加修改权限。再次提交,都OK了。
简单的总结一下:
1、检查SVN服务器上提供的用户权限是否足够,若只允许读取,则需要修改为“read/write”权限;
2、查看SVN指定的资源库文件夹,若查找不到,说明该文件夹被设置成了隐藏文件夹,网上有资料表明,这样的情况也是无法提交的,但是我没有验证。参考网上资料,若文件夹属性为隐藏,也要取消掉。
3、文件夹及其递归子文件夹被设置为只读,应去掉该选项。
4、从属性对话框中找到“安全”选项卡,找到用户权限中对SVN-USER的权限定义,将“修改”等权限勾选上。
完成以上这些步骤,再次尝试提交,我的问题就解决了。