最近在我用Subversion论坛(http://www.iUseSVN.com/bbs)经常有人提到这样的问题: 为什么我的客户端没有写权限? 为什么我的权限没有起作用? 总结他们的配置,发现 都是用svnserve作为服务器, 都在svnserve.conf中使用了authz-db选项 原因可能如下: 1,配置authz时,没有注意svnserve启动参数-r所指定的目录。 这里有两种情况: A:-r直接指定到版本库(称之为单库svnserve方式) 比如,有一个库project1,位于D:\svn\project1 使用以下命令启动svnserve
authz文件如果配置成下面这样就是错的,
使用类似这样的URL:svn://192.168.0.1/ 即可访问project1 B:-r指定到版本库的上级目录(称之为多库svnserve方式) 同样,有一个库project1,位于D:\svn\project1 如果使用以下命令启动svnserve
这时如果想限制指定库的指定目录,就应该指定具体的库,像这样
使用类似这样的URL:svn://192.168.0.1/project1 即可访问project1 这样的URL:svn://192.168.0.1/project2 即可访问project2 2,对中文目录进行权限控制时,没有将权限文件authz改为utf-8格式。 svn对于非英文文件名和目录名使用utf-8格式编码处理,要对中文目录进行正确控制, 应该使用无BOM的utf-8格式,如何将默认的文件转为utf-8, 我使用的是UltraEdit的菜单"ASCII to UTF-8 (Unicode Editing)"。在UltraEdit的配置中,可以设置有无BOM 更多参考文档: (配置权限控制文件)http://bbs.iusesvn.com/thread-6-1-1.html (中文目录权限控制)http://bbs.iusesvn.com/thread-41-1-1.html (Apache的单库多库问题)http://bbs.iusesvn.com/thread-158-1-1.html |