SVN 错误 Access to SVN Repository Forbidden的原因及解决方法
当我们新创建一个仓库,为这个仓库配置了和之前不同的管理员和密码后,当我们在上传和检出文件时,
可能出现如如下图的错误(下图为import代码时出现的错误)。
我们先说明产生这个错误的原因,然后再根据原因引出解决办法。
原因
当我们在创建代码仓库时(repository),我们会选择这个仓库对应的权限,如下图所示
当我们选择第三项Customize permissions(用户许可)时,我们就为这个仓库指定了用户和密码,那么当我们再次对这个仓库操作时,
就需要输入用户名和密码。但是有时虽然创建了用户名和密码,但是我们对这个仓库操作时,并不需要输入,这是为什么呢?这个原因也
是本文主要讨论错误的原因。因为当我们输入用户名和密码时,若是勾选了下图中的save authentication(保存证明),则系统会记住
我们输入的用户名和密码,如果我们不清除数据,则再次使用时,则系统不会提醒我们输入用户名和密码。
当我们新创建了仓库,指定了新的用户名和密码,系统同样不会提醒我们输入用户名和密码,这个时候我们提交代码或者检出代码就会
发送本文讨论的错误(Tortoise SVN在我们指定了新用户名和密码时竟然也默认用之前的用户和密码,不提醒我们,这有点不地道了!!!)。
当然了,若是新创建的仓库指定的用户名和密码和系统默认保存的一样,也不会提醒我们输入用户名和密码,但是完全可以正常的操作这个代码仓库。
解决方法
基于以上分析,当出现以上错误时,我们可以清除系统存储的数据,这样当我们之后操作仓库时就会提醒我们输入用户名和密码,
不至于出现错误。当然了,若是我们输入用户名和密码时又保存了证明(save authentication勾选),则同样可能引发之后出现
错误,所以在勾选这个选项的时候需要谨慎,根据实际情况判断。
以下是清除系统存储数据的方法:
我使用的SVN客户端是Tortoise SVN,清除方法是,在桌面任意一个位置右键,将光标放置到Tortoise SVN,旁边出现的选项中选择Settings,
出现设置对话框如下图所示:
点击左侧列表中的Saved Data(已保存的数据),出现下图界面:
那么我需要将对应的数据清除即可,因为是save Authentication导致的错误,所以我们将第五行“Authentication data”中的数据清除即可。
(因为我已经将数据清除了,所以Authentication data的Clear和Clear all变成了浅灰色,没有清除时,应该是黑色的,实在不好意思),我
们可以点击Clear后选中条目清除,也可以点击Clear all清除所有,这样问题就解决了。当我们再次对仓库进行操作时,就会提示我们输入用户名和密码。
至此,这个错误我们就解决了,感谢大家阅读。