在 Windows 搭建 SVN 服务
以下内容为本人的学习笔记,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16671311.html

最近公司给配了台新电脑,配置挺主流的,但是不舍得抛弃自己的旧电脑(原配嘛,这叫贪新不舍旧),于是打算在新电脑上只作开发环境,然后旧电脑作为版本库,这样保存版本的时候可以直接上传到旧电脑里,也够折腾的了。所以需要在旧电脑搭建一个 svn 服务器,新旧电脑同处一个局域网内。由于本人的开发方向还停留在 Windows 端 (石器时代),所以以下介绍的内容都基于Windows 平台(起码 XP 吧)。
目标:一台电脑作为 svn 服务器,其它电脑安装 svn 客户端,比如 基于Windows 平台的 TortoiseSVN
所需工具:
Step 1.
解压 「Apache-Subversion-1.10.0.zip」(如下图 1.0) 到指定位置,比如「C:\svnserve」,路径不要带「空格」。其实这个不是安装的过程,绿色版无污染,啥也不用安装。

Step 2.
接着是将 svn 服务端的相关程序路径添加到系统环境变量里。在 系统属性 -> 高级 -> 环境变量 -> 系统变量 中找到变量 Path,如果已经存在此变量,则在这个值最后添加 「C:\svnserve\bin」,使用 「;」与其它内容隔开;如果不存在此变量,则添加此变量,并且修改值为「C:\svnserve\bin」。修改完确定即可。
现在可以开始在 cmd 里使用 svn 的相关命令了,打开 cmd 输入 「svnserve --version」,输出为如图 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防火墙)

win7 或者更高的版本平台呢,就是设置 入站规则 了。不再熬述。
在 Windows 搭建 SVN 服务的更多相关文章
- windows搭建SVN服务MD版
windows搭建SVN服务MD 1下载TortoiseSVN 官网下载 根据自己系统环境选择适合的版本 2 安装TortoiseSVN 双击运行程序 出现第一个小坑 原来是你的系统没有打 kb299 ...
- windows搭建SVN服务
下载`TortoiseSVN 官网下载址:https://www.visualsvn.com/visualsvn/download/tortoisesvn/ 根据自己系统环境选择 安装Tortoise ...
- Ubuntu Server搭建svn服务以及迁移方法【转】
转自:http://www.linuxidc.com/Linux/2013-05/84693.htm Ubuntu Server搭建svn服务以及迁移方法 采用apache+svn,http访问方式. ...
- Linux环境搭建SVN服务
一.准备工作 首先要保证自己的linux电脑能上外网,我这电脑因为是新的,没有配置网络,所以再这块花费了点时间. 1.检查ip信息 >ifconfig 2.检查DNS服务器 >cat / ...
- Linux上搭建SVN服务
环境:centos7 一.搭建svn服务 1. 安装svn yum -y install subversion 2. 创建一个目录作为svn服务的地址(svn://192.168.0.2:3690 访 ...
- 最全Linux搭建SVN服务端教程
文章首推 支付宝接口对接 高德地图调用 验证码登录 QQ邮箱登录 今日主题:Linux搭建SVN服务端 简介 相信程序员对SVN还是不陌生的,虽然现在用Git比较多,但是SVN也是用的,SVN可以做代 ...
- windows下搭建svn服务端、客户端
1.安装SVN服务器subversion以及客户端TortoiseSVN,在网上下载windows版的subversion,TortoiseSVN并安装,比如我的服务端安装在了D:\Program F ...
- linux 搭建SVN服务端
搞了个服务器,然后现在想搞点事情,于是乎整个SVN在上面,算是熟悉下svn的操作过程 以下内容转载自: https://yq.aliyun.com/articles/6693 ------------ ...
- svn使用---在CentOS 7上搭建SVN服务器 及windows搭建svn步骤
svn搭建方法: https://blog.csdn.net/helijie92902/article/details/51935122?foxhandler=RssReadRenderProcess ...
随机推荐
- 阿里云体验有奖:使用PolarDB-X与Flink搭建实时数据大屏
体验简介 场景将提供一台配置了CentOS 8.5操作系统的ECS实例(云服务器).通过本教程的操作带您体验如何使用PolarDB-X与Flink搭建一个实时数据链路,模拟阿里巴巴双十一GMV大屏. ...
- 使用 NSProxy 实现消息转发
一.简介 在 iOS 应用开发中,自定义一个类一般需要继承自 NSObject 类或者 NSObject 子类,但是,NSProxy 类不是继承自 NSObject 类或者 NSObject 子类 ...
- 基于NCF的多模块协同实例
简介 这次给大家带来的内容是基于NCF的多模块协同实例 主要讲解的内容是NCF的模块Xncf之间相互调用,相互协作的能力 这里可以把Xncf比作乐高玩具,一个Xncf就是你拥有的乐高玩具的类型,比如你 ...
- Transferable Joint Attribute-Identity Deep Learning for Unsupervised Person Re-Identification理解
简介:这篇文章属于跨域无监督行人再识别,不同于大部分文章它使用了属性标注.旨在于能够学习到有属性语义与有区分力的身份特征的表达空间(TJ-AIDL),并能够转移到一个没有看到过的域. 贡献: 提出了一 ...
- 如何在.Net Framework应用中请求HTTP2站点
背景介绍 本文的需求背景是对接苹果公司的推送服务(APNS),苹果在安全方面比较积极,已经严格限制API只支持HTTP2.但是我这里的应用目前仍然是.NET Framework平台,所以必须寻找一种解 ...
- Ubuntu 隐藏所有窗口快捷键不生效问题
在绑定界面卡住时,切换到一个tty窗口,再切回来 gsettings reset-recursively org.gnome.settings-daemon.plugins.media-keys gs ...
- java controller 异常捕获
package com.aiyusheng.framework.exception; import lombok.Data; /** * base异常类 * @author :cza * @date ...
- 科学计算库Numpy基础&提升(理解+重要函数讲解)
Intro 对于同样的数值计算任务,使用numpy比直接编写python代码实现 优点: 代码更简洁: numpy直接以数组.矩阵为粒度计算并且支持大量的数学函数,而python需要用for循环从底层 ...
- maven exclusion 理解
结论:exclusion 表示对传递性依赖进行排除,排除后当前项目的依赖jar中,就不会包含该传递性依赖. 扩展:项目中的jar 都会在classpath下,排除后的传递性依赖,相当于在classpa ...
- Codeforces Round #792 (Div. 1 + Div. 2) // C ~ E
比赛链接:Dashboard - Codeforces Round #792 (Div. 1 + Div. 2) - Codeforces C. Column Swapping 题意: 给定一个n*m ...