创建了不少仓库了,但每次创建新的项目时,仍然要翻笔记翻攻略,感觉大脑已经退化(进化)到不适合记忆简单的命令了,哈哈。所以索性自己把步骤记录下来,用到的时候直接瞄一眼好了~
登入svn服务器,进入svn目录,我的是/srv/svn,该目录下有之前创建的所有项目。
sudo svnadmin create test_svn
执行成功后,会发现当前目录下出现了test_svn这样一个文件夹,说明test_svn仓库已经创建成功。
cd test_svn,进入目录,会看到其中包含如下几个目录:
首先以root权限打开并编辑passwd:sudo vim passwd,在[users]下面编辑授权的用户名和密码,例如,
[users]
# harry = harryssecret
# sally = sallyssecret
zhangsan = 123456
lisi = 654321
wangwu = 123
编辑好之后,保存并退出。
以root权限打开并编辑authz:sudo vim authz:
(1) 设置用户组
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = zhangsan,lisi,wangwu
(2) 设置用户组权限范围
根目录权限:
[/]
@admin=rw
如果只设置该仓库下的某一个子目录code,且只有读权限,可在方括号中执行子目录,并将“=”号后面的读写指示置为“r”:
[/code]
@admin=r
经过以上三个步骤,是不是就可以在客户端访问新建的svn了呢?试试看。
在windows的svn客户端试图向新建立的svn仓库上传新的资料时遇到了如下问题:
经查,发现svnserve.conf这个文件没有配置。
svnserve.conf是svnserve.exe进程的配置文件,通过该文件去执行上面我们做的一些权限操作。将该文件修改如下,见红框标出来的内容:
anon-access = none //匿名情况下的读写权限,这里设置为匿名不可读写,可填选项分别为none、read、write
auth-access = write //鉴权情况下的读写权限,设置成write,意为可读写
password-db = passwd //指明用户名密码的存放文件,文件名可以改成自己的,这里使用默认的
authz-db = authz //指明用户组权限配置文件,同样,可改成自己命名的文件
经过以上4个步骤,在svn服务启动的情况下,在svn客户端就可以正常访问svn服务器了,可以进行上传、下载等常用操作。
如果想要启停svn服务,可分别通过如下命令行执行:
启动svn: svnserve -d -r /srv/svn
停止svn: killall svnserve
启动时的“/srv/svn”根据svn的实际工作路径设置即可。