linux实践——ubuntu搭建 svn 服务

我用的是超级管理员!!!

安装软件包: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

原文地址:https://www.cnblogs.com/perfectzhang/p/5100200.html