只是设置了server.conf和passwd后,依然在导入项目时,说验证错误,搞来搞去还是有问题,最后发现
一定要在auth这个文件设置好权限才行.简单的安装过程:
1 下载好,比如在D盘建议库resposity,再在下面建立好项目目录test,之后右键TEST目录,再弹出的菜单中,使用TortoiseSVN的
此创建文件库”,文件库类型选择默认的“本地文件系统 (FSFS) ”,这样就会在该目录下创建一个版本库。
2 之后在conf目录中打开svnserve.conf ,去掉注释,搞成如下这样
[general]
anon-access = read
auth-access = write
password-db = passwd
authz-db = authz
realm = My First Repository
各参数定义如下:
anon-access :定义非授权用户的访问权限,有三种方式: none 、 read 、 write ,设置为 none 限制访问, read 为只读, write 为具有读写权限,默认为 read 。
auth-access :定义授权用户的访问权限,有三种方式: none 、 read 、 write ,设置为 none 限制访问, read 为只读, write 为具有读写权限,默认为 write 。
password-db :定义保存用户名和密码的文件名称,这里为 passwd ,和该文件位于同一目录。
authz-db :定义保存授权信息的文件名称,这里为 authz ,和该文件位于同一目录。
realm :定义客户端连接是的“认证命名空间”, Subversion 会在认证提示里显示,并且作为凭证缓存的关键字。
再修改pass文件比如
[users]
# harry = harryssecret
# sally = sallyssecret
admin = admin
记得上面这些admin=admin,admin必须前面不能有空格,位于第一列
之后再记得简单设置下auth文件
[groups]
admin = admin
[/resposity]
admin = rw
[respoity:/test]
@admin=rw
*=
groups中指出了按分组来管理用户,目前只有一个用户admin,再加的话就在第二行,按用户名=密码的格式.
而[/resposity]中指出了这个项目的根版本库,对admin是可读,可写的
[respoity:/test]说出了对test这个项目,admin同样是可读,可写的
*=说明除了admin外,其他人都没权限.
2 WIN2003中,用sc 建立SVN服务,以方便启动机器时就可以启动服务了
到d:\svn\bin目录下
sc create svn binpath= "d:\svn\bin\nserve.exe\" --service --root e:\reposity" displayname= "Subversion Repository" depend= Tcpip start= auto
要注意的是binpath=这里,binpath和=之间没空格,但=号之后有空格.
3 之后就可以用小海龟导入项目了
4 但导出checkout 项目时,居然老发现说出错,说要先CLEANUP目录,最后查资料发现,
原来
anon-access = read
auth-access = write
的注释
把
anon-access = read
改成
anon-access = none
checkout的时候SVN看到anon-access = read,就不要求用户名密码,而到了具体目录的时候问题发生了,这时没有用户密码就不能获得文件所以出错了。
而写的时候本身就需要身份验证所以不出错。