版本信息:CentOS release 6.5-2.6.32-431.el6.i686
[root@pluto ~]# cat /etc/redhat-release
[root@pluto ~]# uname -a
功能:SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。
一.服务端安装与配置
安装:
[root@pluto ~]# yum -y install subversion [root@pluto ~]# rpm -qa subversion subversion-1.6.11-15.el6_7.i686 [root@pluto ~]# find / -name subversion-1.6.11-15.el6_7.i686.rpm /var/cache/yum/i386/6/updates/packages/subversion-1.6.11-15.el6_7.i686.rpm [root@pluto ~]# mkdir -p /application/svndata //创建SVN版本根目录 [root@pluto ~]# mkdir -p /application/svnpasswd //创建密码权限目录 [root@pluto ~]# svnserve -d -r /application/svndata/ //启动SVN服务 [root@pluto ~]# ps -ef|grep svn //查看服务是否启动 root 1479 1389 0 01:06 pts/0 00:00:00 grep svn [root@pluto ~]# netstat -lntup|grep svn //查看端口 tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 1493/svnserve [root@pluto ~]# svnadmin create /application/svndata/pluto //建立版本库(项目) [root@pluto conf]# /bin/cp svnserve.conf svnserve.conf.bak.$(date +%F) //做备份,$(date +%F)表示时间
配置文件
[root@pluto conf]# vi /application/svndata/pluto/conf anon-access = none(否)/read(是) //是否匿名访问 auth-access = write //是否允许写入 password-db = /application/svnpasswd/passwd //密码数据库 authz-db = /application/svnpasswd/authz //权限数据库 set nu //显示序号 [root@pluto conf]# diff svnserve.conf.bak.2016-01-21 svnserve.conf //对比配置文件修改的内容 12,13c12,13 < # anon-access = read < # auth-access = write --- > anon-access = none > auth-access = write 20c20 < # password-db = passwd --- > password-db = /application/svnpasswd/passwd 27c27 < # authz-db = authz --- > authz-db = /application/svnpasswd/authz [root@pluto svnpasswd]# chmod 700 * //改权限 [root@pluto svnpasswd]# ll 总用量 8 -rwx------ 1 root root 1080 1月 21 02:21 authz -rwx------ 1 root root 309 1月 21 02:21 passwd [root@pluto svnpasswd]# vi passwd //SVN密码数据库 ### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line. [users] # harry = harryssecret # sally = sallyssecret pluto = yujiayu0013 //账号 = 密码 kimi = yujiayu0013 [root@pluto svnpasswd]# vi authz //SVN权限数据库 svn = pluto,kimi //把账号加入组 system = svnroot //管理员 [pluto:/] //项目名 @svn = rw /*给组赋权限 @system = r [root@pluto svnpasswd]# pkill svnserve //结束SVN服务 [root@pluto svnpasswd]# ps -ef|grep svn root 1691 1389 0 02:36 pts/0 00:00:00 grep svn [root@pluto svnpasswd]# svnserve -d -r /application/svndata/ //重启SVN服务 [root@pluto svnpasswd]# ps -ef|grep svn root 1694 1 0 02:37 ? 00:00:00 svnserve -d -r /application/svndata/ root 1696 1389 0 02:37 pts/0 00:00:00 grep svn
二.客户端http://pan.baidu.com/s/1kUcGS3X#path=%252F%25E5%2588%2586%25E4%25BA%25AB%252Flinux
三.实例
[root@pluto /]# mkdir /share [root@pluto share]# mkdir trunk branch tags -p [root@pluto application]# svn import /share/ file:///application/svndata/pluto/ -m "pluto" <<==本地导入方式 [root@pluto /]# svn import /share/ svn://192.168.1.128/pluto/ -m "pluto" 增加 /share/trunk //主线 增加 /share/branch //分支 增加 /share/tags //标记 提交后的版本为 5。 [root@pluto /]# svn checkout svn://192.168.1.128/pluto/ /pluto/ --username pluto --password yujiayu0013 [root@pluto pluto]# ll 总用量 16 drwxr-xr-x 3 root root 4096 1月 26 05:31 branch drwxr-xr-x 3 root root 4096 1月 26 05:31 tags drwxr-xr-x 3 root root 4096 1月 26 05:30 trunk [root@pluto pluto]# cd trunk/ [root@pluto trunk]# touch test.log [root@pluto trunk]# echo 779699413 >test.log [root@pluto trunk]# svn add test.log A test.log [root@pluto trunk]# svn ci -m "RZ test.log" 增加 trunk/test.log