版本控制一直是项目开发中必不可少的,不仅有利于代码管理,而且对项目团队协作开发有很大的帮助。目前比较流行的版本控制管理有GIT和SVN,它们都有各自的优缺点,具体使用哪一个还是要看个人的喜好,它们功能也都是大同小异。本篇博文讲述的就是在Linux下安装配置SVN。
//安装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]#
在本机安装TortoiseSVN
下载TortoiseSVN客户端安装包文件,进入
http://subversion.apache.org/packages.html#windows
输入svn://你的ip地址/project
如果弹出输入账号密码的对话框,表示上述设置正确