什么是SVNsubversion)?

VN是近年来崛起的非常优秀的版本管理工具,与CVS管理工具一样,SVN是一个固态的跨平台的开源的版本控制系统SVN版本管理工具管理者随时间改变的各种数据。这些数据放置在一个中央资料档案库(repository中,这个档案库很像一个普通的文件服务器或者FTP服务器,但是,与其他服务器不同的是,SVN会备份并记录每个文件每一次的修改更新变动。这样我们就可以把任意一个时间点的档案恢复到想要的某一个旧的版本,当然也可以直接浏览指定的更新历史记录。

  为什么会有SVN这样一个项目?

    官方解释:为了接管CVS的用户基础,确切的说,我们写了一个新的版本控制系统,它和CVS很相似,但是它修正了以前CVS所没有解决的许多问题。
    SVN时一个非常通用的软件系统,它常被用来管理程序 源码,但是他也可以管理任何类似的文件,如文本、视频,图片等等。

[root@svn ~]# cat /etc/redhat-release

CentOS release 6.7 (Final)

1. 首先检查SVN软件程序是否已经安装:

[root@svn ~]# rpm -qa subversion

subversion-1.6.11-14.el6.x86_64

2.如果没有如上结果,则需要执行如下命令安装

[root@svn ~]# yum install subversion -y

########3建立SVN版本库数据存储根目录(svndata)及用户,密码权限目录(svnpasswd

[root@svn ~]# mkdir -p /root/svndata 数据存储根目录

[root@svn ~]# mkdir -p /root/svnpasswd用户密码权限目录

启动SVN服务指定访问的SVN根目录

[root@svn ~]# svnserve -d -r /root/svndata/   

########################################################################################

[root@svn ~]# svnserve -d -r /root/svndata/   --启动SVN服务

[root@svn ~]# ps -ef |grep svn   查看SVN进程

[root@svn ~]# lsof -i :3690    检查svn端口号

创建一个新的SVN项目sadoc其实类似sadoc这样的项目可以创建多个,每个项目对应不同的代码,这里只是以创建一个项目为例。

[root@svn ~]# svnadmin create /root/svndata/sadoc

配置SVN文件及权限

[root@svn ~]# cd /root/svndata/sadoc/conf/

[root@svn conf]# vim svnserve.conf

更改后的结果:

[root@svn conf]# diff svnserve.conf.org svnserve.conf

12,13c12,13

< # anon-access = read

< # auth-access = write

---

> anon-access = none

> auth-access = write

20c20

< # password-db = passwd

---

> password-db = /root/svnpasswd/passwd

27c27

< # authz-db = authz

---

> authz-db = /root/svnpasswd/authz

为了安全起见可以加权限

[root@svn conf]# cd /root/svnpasswd/

[root@svn svnpasswd]# chmod 700 *

cd /root/svnpasswd/

[root@svn svnpasswd]# vim passwd

[root@svn svnpasswd]# cat passwd 

zhangyang = zhangyang123

gongli = gongli123

stu001 = 123

stu002 = 456

youngcheung = youngcheung123

[root@svn svnpasswd]# svnserve -d -r /root/svn

root@svn svnpasswd]#cat authz 

[/]

zhangyang = rw

Win64位操作系统

svn co svn://10.0.0.52/sadoc/ /root/sadoc/