什么是SVN(subversion)?
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/