svn 用于管理团队开发的项目,方便团队合作及记录历史版本(相较于git,推荐学习git功能更加的完善,也可以更方便的浏览github上的开源项目)。

1.安装svn 

本人使用的是centos6.5的环境如因环境不同出现问题,可以另行参考资料解决。

安装比较简单直接使用yum包管理器安装:
yum install svn

查看安装结果

[root@localhost ~]# svn --version 
svn,版本 1.6.11 (r934486)
   编译于 Aug 17 2015,08:37:43

  出现版本信息,安装成功。

2.新建仓储及初始化仓储

svnadmin create /home/myrepo 

这样在指定位置创建svn版本库

mkdir -p code/{branches,tags,trunk}

建议使用branches,tags,trunk结构。方便理解branches 分支  trunk主干 

svn import code file:///home/myrepo

将构建好的版本结构添加到svn版本库,至此初始化结束

3.配置svn权限

在版本库目录下有个conf目录:home/myrepo/conf,该目录包含三个文件:authz,passwd,svnserve.conf。

(1)修改svnserve.conf文件

vi svnserve.conf

anon-access = read
auth-access = write
password-db = passwd
authz-db = authz

将如上四行代码的#去除 。anon-access = read 没有权限验证的用户 可以拥有浏览权限,不提供浏览可以改为 anon-access = none

auth-access = write 权限验证成功用户 可读可写

password-db = passwd 指定用户名密码配置文件位置
authz-db = authz 指定用户权限配置文件位置

(2)passwd
如前面介绍,这个文件的主要内容如下

[users]
harry = harrysecret
sally = sallyssecret

以上两行就是可以访问版本库的用户名和密码。格式为:user = passwd。

(3)authz

[groups]
# harry_and_sally = harry,sally

# [/foo/bar]
# harry = rw
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

以上就是authz文件的格式。先给用户分组,然后分别设置每个组的工作目录以及权限等。
本文的讲解并未用到authz的配置。

4.启动svnserver

简单启动 service svnserve start

指定作为守护进程 指定端口 自定仓储

svnserve -d  -listen-port=8888  -r /home/  

5.svn迁移

导出源svn文件
svn dump (仓储路径)C:\svnserver\zxfinance >C:\svnTemp\svn_dump
在新机器上安装svn
yum isntall svn
创建svn仓储 svnadmin create /home/redfortune
将文件导入svn
svnadmin load /home/redfortune < svn_dump
注:以上操作不会保留原有的用户账号,如果需要保留覆盖配置文件即可

参考网址:

http://blog.chinaunix.net/uid-21736802-id-1817783.html

http://blog.csdn.net/zhqingyun163/article/details/6903047