centOS7 下创建svn
本想开发环境转向linux,在搭建开发环境的时候发现很多软件都不能像window那样界面化,所以果断放弃这种想法。不过还是要学习这些东西的基本命令比如svn。
SVN 安装
- yum安装
[root@localhost Desktop]# yum install subversion
- 查看是否安装成功
[root@localhost svn]# svn --version #就是如此简单
svn, version 1.7.14 (r1542130)
compiled Apr 11 2018, 02:40:28
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/
The following repository access (RA) modules are available:
* ra_neon : Module for accessing a repository via WebDAV protocol using Neon.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- with Cyrus SASL authentication
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme
创建一个svn版本库以及基本配置
- 创建一个svn文件存放你的svn版本库的目录
[root@localhost Desktop]# mkdir svn
- 创建一个svn版本库
[root@localhost Desktop]# svnadmin create /home/svn
- 现在开始配置conf里面的文件一个三个文件
[root@localhost conf]# ls
authz passwd svnserve.conf
#passwd配置帐号密码
例子:
[users]
# harry = harryssecret
# sally = sallyssecret
test1 = 123456
test2 = 123456
#authz 配置帐号权限
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
group1 = test1,test # 分组1 帐号使用“,“号隔开
group2 = test2
# [/foo/bar]
# harry = rw
# &joe = r
# * =
[/]
@group1 = rw #分组权限 rw 读写 r只读
@group2 = r
*= #其他人无权限的意思把
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
#svnserve.conf 启用配置项
打开下面的5个注释
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn # 认证空间名,版本库所在目录
- SVN 启动和关闭 (不懂为什么不能使用systemctl 启动)
[root@localhost conf]# svnserve -d -r /home/svn #启动
[root@localhost conf]# killall svnserve #停止
svn命令
备份
[root@localhost conf]# svnadmin hotcopy /svn库(repository)目录 /拷贝文件夹目录
checkout 检出
[root@localhost conf]# svn checkout svn://ip
svn更新
[root@localhost conf]# svn up
问题
日志信息无备注信息
(如上图没有任何信息)
anon-access = read # 默认 无权限用户只读此处需要大佬解释 我也不知道为什么
修改成如下:
anon-access = none # 重新启动svn
结果:
CENTOS 7 系统下无法checkout svn
答案:没有打开3690端口
[root@] systemctl restart firewalld #先开启防火墙
[root@] firewall-cmd --zone=public --add-port=3690/tcp --permanent #(--permanent代表重启还在)
注:云服务器要在安全组添加规则
为什么提交有时候需要更才能提交
svn每个文件都有一个版本号,而版本库中的为最新的版本号。当需要提交的时候svn会检测提交文件与版本库的相同文件版本号是否一致,如果不一致则提醒更新。
继续更新中~~~