Subversion是什么?
Subversion是一款自由开放的「版本控制」软件,可以对文件、文件夹进行管理并记录修改情况,通常在源代码,文件等需要多次修改的场合进行使用,提供恢复初始版本等功能,不用再重命名标题最最最最最终版~
工作方式
服务器端存放数据的位置,称为「版本库」
用户安装客户端软件,通过网络获取版本库中数据
用户获取版本库中数据至本地成为「工作副本」
用户使用SVN更新指令,将工作副本上传至版本库
多用户上传同一工作副本,不存在冲突,使用SVN更新指令
多用户上传同一工作副本,存在冲突,人工进行判定修改,再上传
客户端通过:svnserve访问,svnserver+SSH访问,Apache间接访问,本地访问
重要信息
本地连接:不需要联网即可访问
svnserve:设置简单,访问速度快,不支持加密,支持MD5验证,支持版本库及目录权限设置
svnserve+ssh:设置相对简单,访问速度快,支持SSH隧道加密、SSH认证,支持对版本库进行权限设置
Apache+DAV:设置复杂,访问速度慢,支持SSL加密,Apache日志功能,支持版本库及目录权限设置,支持「浏览器」访问版本库
管理工具svnadmin,用来创建,备份,修改等操作
SVN服务默认监听3690端口
主目录为/var/svn 配置文件为/etc/sysconfig/svnserver
版本库配置文件passwd authz svnserve.conf 所有信息必须顶格写
服务器端配置
yum -y install subversion
svnadmin create /var/svn/project
cd /lib/systemd/system
svn import file:///var/svn/project/ -m "Init Date"
svn list file:///var/svn/project
vim /var/svn/project/conf/svnserve.conf
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
real = My First Repository
vim /var/svn/project/conf/passwd
[users]
harry = harry
sally = sally
vim /var/svn/project/conf/authz
[groups]
admins = harry,sally
[/]
@admins = rw
* = r
svnserve -d
客户端配置
yum -y install subversion
svn --username harry --password 123 co svn://192.168.1.210/project /tmp