CentOS7 安装svn

centos(我这里使用的是CentOS7)下yum命令即可方便的完成安装

$ sudo yum install subversion

测试安装是否成功:

$ svnserve --version

[root@lulitianyu ~]# svnversion --version
svnversion, version 1.7.14 (r1542130)
   compiled Aug 23 2017, 20:43:38


Copyright (C) 2013 The Apache Software Foundation.
This software consists of contributions made by many people; see the NOTICE
file for more information.
Subversion is open source software, see http://subversion.apache.org/

2. 建立版本库

创建svn数据目录(subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里):

$ sudo mkdir -p /var/svn

创建版本库:

$ sudo svnadmin create /var/svn/wangwa

如果删除版本库:

$ sudo rm -rf /var/svn/somnus

3. 配置svn配置文件

每个版本库创建之后都会生成svnserve.conf主要配置文件。编辑它:

$ sudo vim /var/svn/somnus/conf/svnserve.conf

编辑示例:

[general]
anon-access = none                #控制非鉴权用户访问版本库的权限
auth-access = write                 #控制鉴权用户访问版本库的权限
password-db = passwd           #指定用户名口令文件名
authz-db = authz                     #指定权限配置文件名
realm = somnus                    #指定版本库的认证域,即在登录时提示的认证域名称

4. 编辑svn用户配置文件

sudo vim /var/svn/somnus/conf/passwd

编辑示例:

[users]
admin = admin                #用户,密码
fuhd = fuhd                #用户,密码
test = test                #用户,密码

5. 编辑svn权限控制配置文件

sudo vim /var/svn/somnus/conf/authz

编辑示例:

[groups]
admin = admin         #admin为用户组,等号之后的admin为用户
test = fuhd,test

[somnus:/]                #表示根目录(/var/svn/somnus),somnus: 对应前面配置的realm = somnus
@admin = rw            #表示admin组对根目录有读写权限,r为读,w为写

[somnus:/test]         #表示test目录(/var/svn/somnus/test)
@test = rw                #表示test组对test目录有读写权限

6. 启动,查看和停止SVN服务

启动SVN服务:

# -d : 守护进程  -r : svn数据根目录 
$ sudo svnserve -dr /var/svn            #用root权限启动

查看SVN服务:

$ ps aux|grep svnserve               #默认端口为:3690

7. 配置防火墙端口

首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690,如果没有打开会报错:

$ sudo firewall-cmd --permanent -add-port=3690/tcp
$ sudo firewall-cmd --reload


8. 检索项目和切换项目的url

项目检错

$ svn checkout svn://192.168.0.112/XK_Project .     #使用 checkout  服务器资源 本地目录

切换项目url

$ svn switch --relocate svn://192.168.0.112/XK_Project svn://192.168.0.120/XK_Project   # 使用 switch 迁移 from  to 新的地址



9. 设置开机启动

centos7, 设置开机启动:

$ sudo systemctl enable svnserve.service      #注意:根目录必须是/var/svn 这样才能设置成功!!
#设置开机启动后就可以按下面的方式开启或停止服务了
$ sudo systemctl start svnserve.service
$ sudo systemctl stop svnserve.service

保存退出,重启并从客户端进行测试。如果报这样的错svn: E204900: Can't open file '/var/svn/somnus/format': Permission denied的错误。那就是与SELinux有关系,目前我还不太会用SELinux,那就先把SELinux关闭吧,后面学会了,回过头来再改这一段!!!!:

临时关闭:

$ sudo setenforce 0

永久关闭:

$ sudo vim /etc/sysconfig/selinux

修改:

SELINUX = disable               #值修改为disable.


svn帮助文档     http://riaoo.com/subpages/svn_cmd_reference.html


创建分支

svn cp -m "create branch" http://svn_server/xxx_repository/trunk http://svn_server/xxx_repository/branches/br_feature001 


获得分支 

svn co http://svn_server/xxx_repository/branches/br_feature001 


合并主干上的最新代码到分支上

cd br_feature001 

svn merge http://svn_server/xxx_repository/trunk 

如果需要预览该刷新操作,可以使用svn mergeinfo命令,如:

svn mergeinfo http://svn_server/xxx_repository/trunk --show-revs eligible

或使用svn merge --dry-run选项以获取更为详尽的信息。


分支合并到主干

一旦分支上的开发结束,分支上的代码需要合并到主干。SVN中执行该操作需要在trunk的工作目录下进行。命令如下:

cd trunk 

svn merge --reintegrate http://svn_server/xxx_repository/branches/br_feature001 

分支合并到主干中完成后应当删该分支,因为在SVN中该分支已经不能进行刷新也不能合并到主干。


合并版本并将合并后的结果应用到现有的分支上

svn -r 148:149 merge http://svn_server/xxx_repository/trunk


建立tags

产品开发已经基本完成,并且通过很严格的测试,这时候我们就想发布给客户使用,发布我们的1.0版本

svn copy http://svn_server/xxx_repository/trunk http://svn_server/xxx_repository/tags/release-1.0 -m "1.0 released"


删除分支或tags

svn rm http://svn_server/xxx_repository/branches/br_feature001
svn rm http://svn_server/xxx_repository/tags/release-1.0



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值