首先,你需要有这些:
一台已经安装好了的SVN服务器
一台客户的电脑
由于我是在现有的svn服务器上安装的,遂就略去了SVN安装的过程,现在我整理下大致的思路:
=>svnadmin创建工程
=>配置所创建工程下的authz passwd svnserve.conf
=>杀进程,重启SVN服务
=>测试新建立的工程(包括权限认证,文件提交和更新)
1、先找到svn工程目录
2、进去工程目录/data/www/svn,svnadmin命令创建一个工程:
工程已经创建成功了,(在ps:即使不熟悉请不要用复制的方式去创建svn工程,切记!) 现在进入文件夹,可以看到一些默认的文件和文件夹:
conf:放置当前工程的配置文件,权限访问控制等等
目录说明:
db:记录用户提价的版本、缓存、db配置等,本身也是个sqlLite数据库
format:一个文件,默认为空,用途暂不
hooks:放置自动提交和更细脚本,及相关配置
locks:顾名思义就是锁,代码被锁住了,可以在这里进行解锁操作
README.txt:工程的介绍文档,建议新建工程后都更新下
3、因为我的目的是在拉取代码时就做一次权限认证,防止恶意用户窥测,遂,现在我们进入conf里面配置相关权限,conf目录目前有这些文件:
命令: vi passwd ,现在可以看到svn给了我们1个例子 liey这个用户,现在我们需要添加我们的用户,大致格式是 :用户名 = 密码,#是注释,请不要以#开始命名用户
如图,用户组的配置需要在[group]标签下配置,你可以自定义一个用户组,比如这里的admin,用户组的用户均以逗号隔开,且用户必须在刚才的passwd文件中配置过的用户(不可使用中文作为用户名),用户组的命名方式为: 用户组名 = 用户1,用户2,用户3 ,用户组定义完成,现在需要对每一个用户组赋予不同的读写权限,大致格式是这样: @用户组名 = 读写权限 ,这个读写权限常用的有两个:rw->读写,r->只读。
用户组配置完成,现在需要配置svn服务引用,命令: vi svnserve.conf
额,主要操作就是把除了上面两个的其它配置参数全部用#注掉,对于保留的这两个参数,我解释下:
anon-access = none :将匿名用户的权限置为空或者像我那样只读都可以
password-db = passwd :引用权限用户信息为passwd文件
如果有需要的可以重启svn,需要找到重启的svn进程,请注意重启时需要在svn工程目录外侧执行命令
命令:
查找svn进程服务:ps -ef|grep svnserve
杀掉进程: kill -9 进程ID
启动svn: svnserve -d -r 目录名
可以看到,svn的启动命令已经在查找的进程中给出了,当然这里如果不是在svn工程列表目录外部操作,请一定注意启动命令后面的目录地址。
现在测试:
1、在本地项目checkout工程(之后需要输入密码),然后添加并提交到服务器
2、到linux中你需要的目录下svn checkout svn://服务器IP或域名/工程目录(我这里是tgRsync) --username 用户名,发现文件可以同步过来
添加文件:
svn add 文件名
提交文件(含备注):
svn commit -m "备注内容" 文件名
更新文件(需要制定版本):
svn update -r 修正版本 文件名