版本信息: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 传输文件数据. 提交后的版本为 8。 |