参考:腾讯云手动实验:https://cloud.tencent.com/developer/labs/lab/10192
安装SVN服务端
安装Subversion
Subversion 是一个版本控制系统,相对于的 RCS 、 CVS ,采用了分支管理系统,它的设计目标就是取代 CVS 。和Git库的使用类似
代码语言:javascript复制[root@localhost ~]# yum -y install subversion
创建SVN版本库
创建版本库目录
代码语言:javascript复制[root@localhost ~]# mkdir -p /data/svn/my_project
[root@localhost ~]# svnadmin create /data/svn/my_project/
配置SVN信息
版本库中的配置目录 conf 有三个文件:
authz 是权限控制文件 passwd 是帐号密码文件 svnserve.conf 是SVN服务综合配置文件
配置权限配置文件 authz
编辑文件authz
代码语言:javascript复制[root@localhost ~]# vim /data/svn/my_project/conf/authz
# groups下添加
[groups]
# 用户组所对应的用户
admin = admin,root,test
# 库目录权限
[/]
# 用户组权限
@admin = rw
# 非用户组权限
*=r
配置账号密码文件passwd
代码语言:javascript复制[root@localhost ~]# vim /data/svn/my_project/conf/passwd
# 末尾添加
admin = 123456
root = 123456
test = 123456
配置SVN服务的总和配置文件
代码语言:javascript复制[root@localhost ~]# vim /data/svn/my_project/conf/svnserve.conf
# 去掉注释
# 匿名用户没有权限
anon-access = none
# 授权用户可以写入
auth-access = write
# 密码文件路径
password-db = passwd
# 授权文件路径
authz-db = authz
# 版本库路径
realm = /data/svn/my_project
启动SVN服务
代码语言:javascript复制[root@localhost ~]# svnserve -d -r /data/svn/
checkout SVN项目
代码语言:javascript复制[root@localhost ~]# mkdir -p /data/workspace/my_project
[root@localhost ~]# svn co svn://127.0.0.1/my_project /data/workspace/my_project/
--username root --password 123456 --force --no-auth-cache
取出版本 0。
提交文件到 SVN 服务器
代码语言:javascript复制[root@localhost ~]# cd /data/workspace/my_project/
[root@localhost my_project]# echo HYTEST >> test.txt
[root@localhost my_project]# svn add test.txt
A test.txt
[root@localhost my_project]# svn commit test.txt -m 'test'
认证领域: <svn://127.0.0.1:3690> /data/svn/my_project
“root”的密码:
-----------------------------------------------------------------------
注意! 你的密码,对于认证域:
<svn://127.0.0.1:3690> /data/svn/my_project
只能明文保存在磁盘上! 如果可能的话,请考虑配置你的系统,让 Subversion
可以保存加密后的密码。请参阅文档以获得详细信息。
你可以通过在“/root/.subversion/servers”中设置选项“store-plaintext-passwords”为“yes”或“no”,
来避免再次出现此警告。
-----------------------------------------------------------------------
保存未加密的密码(yes/no)?yes
正在增加 test.txt
传输文件数据.
提交后的版本为 1。
本地的项目删除后,也能通过版本库恢复
代码语言:javascript复制[root@localhost my_project]# rm -rf test.txt
[root@localhost my_project]# pwd
/data/workspace/my_project
[root@localhost my_project]# svn update
正在升级 '.':
已还原“test.txt”
版本 1。
[root@localhost my_project]# ls
test.txt
搭建完成