我用的是超级管理员!!!
安装软件包:apt-get install subversion
检查是否安装完毕:svn --version
创建一个仓库根目录(位置个人喜好):mkdir -p /srv/svn
创建版本仓库:
cd /srv/svn/
mkdir -p project1
svnadmin create /srv/svn/project1
创建版本库后,在这个目录下会生成如下配置文件:ll /srv/svn/project1/conf
(1)svnserve.conf: svn服务配置文件
[general]
#匿名用户不可读
anon-access = none
#权限用户可写
auth-access = write
#密码文件为passwd
password-db = passwd
#权限文件为authz
authz-db = authz
(2)passwd: 用户名口令文件。
[users]
# harry = harryssecret
# sally = sallyssecret
test=123456
###密码是明文的。
(3)authz: 权限配置文件。
[groups]
admin = test,john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark
docs = bob, jane, mike
training = zak
--这里把不同用户放到不同的组里面,下面在设置目录访问权限的时候,用目录来操作就可以了。
# 为所有库指定默认访问规则
# 所有人可以读,管理员可以写,危险分子没有任何权限
[/] --对应我测试里的:/srv/svn 目录
* = r
@admin = rw
dangerman =
# 允许开发人员可以完全访问他们的项目版本库
[proj1:/]
@devteam1 = rw
[proj2:/]
@devteam2 = rw
[bigproj:/]
@devteam1 = rw
@devteam2 = rw
trevor = rw
# 文档编写人员对所有的docs目录有写权限
[/trunk/doc]
@docs = rw
# 培训人员可以完全访问培训版本库
[TrainingRepos:/]
@training = rw
启动svn服务:
svnserve -d -r /srv/svn
其中 -d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库根目录,在网络上访问时省去部分地址,例如svn://xxx.xxx.xxx.xxx/project1。
检查服务是否启动:netstat -antp | grep svn
svn的默认端口是3690
客户端连接:svn://xxx.xxx.xxx.xxx:3690/project1
启动和停止svn:
svnserve -d -r /srv/svn/
killall svnserve
接下来就可以使用SVN了
检出服务器上的文件
svn checkout 地址
上传新文件
svn add 文件名/目录
svn commit -m "备注"
要删除文件则输入:
svn delete 文件名
svn commit -m "备注"
如果是误删了文件
直接 svn up 或者 svn revert -r version
收藏一个同题主题:http://www.cnblogs.com/me115/archive/2013/04/07/3002058.html