SVN
1. 简述
版本控制一直是项目开发中必不可少的,不仅有利于代码管理,而且对项目团队协作开发有很大的帮助。目前比较流行的版本控制管理有GIT和SVN,它们都有各自的优缺点,具体使用哪一个还是要看个人的喜好,它们功能也都是大同小异。本篇博文讲述的就是在Linux下安装配置SVN。
2. 安装步骤
//安装SVN
[root@localhost ~]# yum install subversion -y
//检查是否安装成功
[root@localhost ~]# svnserve --version
svnserve,版本 1.10.2 (r1835932)
编译于 Feb 22 2021,05:02:40 在 x86_64-redhat-linux-gnu
Copyright (C) 2018 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/
下列版本库后端(FS) 模块可用:
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
* fs_x : Module for working with an experimental (FSX) repository.
Cyrus SASL 认证可用。
[root@localhost ~]#
//创建仓库目录
[root@localhost ~]# mkdir -p /home/svn/project
//创建项目
[root@localhost ~]# svnadmin create /home/svn/project/
//检查是否创建成功
[root@localhost ~]# cd /home/svn/project/
//进入project文件夹进行查看可看到文件夹包含了conf、db、format、hooks、locks、 README.txt等文件,说明一个SVN库已经建立。
[root@localhost project]# ll
总用量 8
drwxr-xr-x 2 root root 76 10月 11 21:44 conf
drwxr-sr-x 6 root root 233 10月 11 21:44 db
-r--r--r-- 1 root root 2 10月 11 21:44 format
drwxr-xr-x 2 root root 231 10月 11 21:44 hooks
drwxr-xr-x 2 root root 41 10月 11 21:44 locks
-rw-r--r-- 1 root root 246 10月 11 21:44 README.txt
[root@localhost project]#
//打开下面的5个注释
[root@localhost conf]# vi svnserve.conf
anon-access = read #匿名用户可读
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn/project # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
//配置passwd(格式:帐号=密码)
[root@localhost conf]# vim passwd
[root@localhost conf]# cat passwd
### 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
username = 1
[root@localhost conf]#
//配置authz权限
[root@localhost conf]# cat authz
//最后一行添加
[/]
username = rw
//注:默认的端口是3690,在检出提交操作之前请检测此端口是否允许出站入站。如不允许,请设置好防火墙
[root@localhost conf]# svnserve -d -r /home/svn //启动
[root@localhost conf]# pkill svnserve //停止
[root@localhost conf]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:3690 0.0.0.0:*
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 [::]:22 [::]:*
[root@localhost conf]#
3. 测试结果
在本机安装TortoiseSVN
下载TortoiseSVN客户端安装包文件,进入
http://subversion.apache.org/packages.html#windows
输入svn://你的ip地址/project
如果弹出输入账号密码的对话框,表示上述设置正确