在 Windows 搭建 SVN 服务

近公司给配了台新电脑,配置挺主流的,但是不舍得抛弃自己的旧电脑(原配嘛,这叫贪新不舍旧),于是打算在新电脑上只作开发环境,然后旧电脑作为版本库,这样保存版本的时候可以直接上传到旧电脑里,也够折腾的了。所以需要在旧电脑搭建一个 svn 服务器,新旧电脑同处一个局域网内。由于本人的开发方向还停留在 Windows 端 (石器时代),所以以下介绍的内容都基于Windows 平台(起码 XP 吧)。

目标:一台电脑作为 svn 服务器,其它电脑安装 svn 客户端,比如 基于Windows 平台的 TortoiseSVN

所需工具:

  1. Apache-Subversion-1.10.0 百度网盘

    https://pan.baidu.com/s/1CEqJcxXwvuMK-K7IGdKLxQ

    (官网地址 ---- 可能有更新的版本)

    http://subversion.apache.org/download.cgi#recommended-release

  2. TortoiseSVN

    https://osdn.net/projects/tortoisesvn/storage/1.10.0/Application/

Step 1.

解压 「Apache-Subversion-1.10.0.zip」(如下图 1.0) 到指定位置,比如「C:\svnserve」,路径不要带「空格」。其实这个不是安装的过程,绿色版无污染,啥也不用安装。

图 1.0

Step 2.

接着是将 svn 服务端的相关程序路径添加到系统环境变量里。在 系统属性 -> 高级 -> 环境变量 -> 系统变量 中找到变量 Path,如果已经存在此变量,则在这个值最后添加 「C:\svnserve\bin」,使用 「;」与其它内容隔开;如果不存在此变量,则添加此变量,并且修改值为「C:\svnserve\bin」。修改完确定即可。

现在可以开始在 cmd 里使用 svn 的相关命令了,打开 cmd 输入 「svnserve --version」,输出为如图 2.0 即说明环境变量添加成功。

图 2.0

Step 3.

然后就是让系统每次启动之后都能让 svn 服务自动打开,为了省事吧,不用每次都敲命令。在 cmd 中输入 「sc create SvnServe binPath= "C:\svnserve\bin\svnserve.exe --service --root D:\svnroot" DisplayName= "SvnServe" depend= tcpip start= auto」。

「D:\svnroot」指的是版本库根目录,根据自己的需求改吧。

注意咯,以上命令里的 = 号前面没有空格!

Step 4.

通常我们都喜欢先建立一个总的版本库,这样各个项目可以在这个版本库下面分别单独建立。以下介绍怎么建立总的版本库。

在 cmd 中输入 「svnadmin create D:\svnroot\repository」,自动生成了版本库目录 repository。

我们需要设定此版本库只允许有权限的人才可以读写,总不能让公司的项目内容随便公开吧。因此还需要对版本库配置「认证」。

进到目录 repository\conf,用记事本打开文件 svnserve.conf,找到

复制代码
// # 表示注释
# anon-access = read
# auth-access = write
# password-db = passwd

改为

复制代码
anon-access = none // 表示非权限用户的读写权限,无
auth-access = write // 表示权限用户的读写权限,写
password-db = passwd // 表示密码存储在文件 passwd 中

保存,关闭文件。

用记事本打开文件 passwd,找到字段 [users],在下面添加

复制代码
// name 用用户名代替
// password 用密码代替
name = password

从此,版本库 repository 只有用户 name (密码 password)才可以读写了。各子项目都可以在此版本库中建立。

svn 服务到此算是配置完成了。

那就赶快在客户机测试一下吧!TortoiseSVN 这里就不介绍了,保重。

另外

需要注意的是防火墙设置:

xp 下,防火墙里边的「例外」需要添加程序 svnserve.exe。如下(图 xp防火墙)

标题图 xp防火墙

win7 或者更高的版本平台呢,就是设置 入站规则 了。不再熬述。

相关推荐
LZQqqqqo6 小时前
C# 中 ArrayList动态数组、List<T>列表与 Dictionary<T Key, T Value>字典的深度对比
windows·c#·list
季春二九7 小时前
Windows 11 首次开机引导(OOBE 阶段)跳过登录微软账户,创建本地账户
windows·microsoft
芥子沫8 小时前
Jenkins常见问题及解决方法
windows·https·jenkins
cpsvps_net1 天前
美国服务器环境下Windows容器工作负载智能弹性伸缩
windows
甄超锋1 天前
Java ArrayList的介绍及用法
java·windows·spring boot·python·spring·spring cloud·tomcat
cpsvps1 天前
美国服务器环境下Windows容器工作负载基于指标的自动扩缩
windows
网硕互联的小客服1 天前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
etcix1 天前
implement copy file content to clipboard on Windows
windows·stm32·单片机
许泽宇的技术分享1 天前
Windows MCP.Net:基于.NET的Windows桌面自动化MCP服务器深度解析
windows·自动化·.net
非凡ghost1 天前
AMS PhotoMaster:全方位提升你的照片编辑体验
windows·学习·信息可视化·软件需求