windows下SVN服务的安装与配置
第一步 下载SVN服务端 Setup-Subversion-1.8.15.msi
https://sourceforge.net/projects/win32svn/
第二步 安装
双击刚才下载的Setup-Subversion-1.8.15.msi
然后一直Next
安装完成之后就会发现我们的PATH环境变量中多了一个C:\Program Files\TortoiseSVN\bin
第三步 配置SVN资源库
在电脑的任意位置创建一个空文件夹,用于存放SVN的资源。我在D盘根目录下建了一个svnData
然后在DOS命令行执行如下命令
svnadmin create D:\svnData\svndemo
执行完之后会在D盘svnData下生成一svndemo的目录,里面还有很多生成的文件夹和文件
进入conf目录下
配置svnserve.conf文件,取消该文件的如下注释,在77-78行。
anno-access = read
auth-access = write
上面指定允许匿名用户读取该资源库(如果要禁止匿名用户读取,修改为anno-access = none),授权用户对资源库可以执行读取、写入操作
继续配置该文件
取消下面的注释,在27行。
password-db = passwd
上面指定SVN资源库使用passwd文件来保存用户名、密码
配置conf目录下的passwd文件
加入如下一行
gwcheng= gwcheng
上面为该SVN资源库增加了一个用户,用户名为gwcheng,密码是gwcheng
经过上面的配置,SVN服务器已经配置完成了。
接下来可以启动SVN服务了,在命名行输入如下命令
svnserve -d -r D:\svnData
在上面的命令中,svnserve是SVN服务器安装路径下bin目录的一个可执行程序,D:\svnData是SVN资源库的保存位置。运行该命令即可启动SVN服务器。
注意:命令行不能关闭 否则服务将被终止。
每次通过命令行启动SVN服务器是一件很繁琐的事情。可以将其作为windows服务,然后将该服务设置为自启动的windows服务,每次windows启动的时候就会自动启动该服务。
以管理员身份运行如下命名
sc create svn binpath= "C:\Program Files(x86)\Subversion\bin\svnserve.exe --service -r D:\svnData" displayname= "Subversion 服务" depend= Tcpip
若该命令不管用执行如下命令(注://在命令中的每一个等号后面都要有一个空格否则命令执行失败 ):
sc create svn binPath= "\"C:\Program Files (x86)\Subversion\bin\svnserve.exe\" --service --root D:\SVNServer" displayname= "Subversion 服务" depend= Tcpip start= auto
这样就可以在服务中看到刚才创建的服务了
将其设为开启启动,并启动该服务。
如果出现如下错误,请以管理员身份运行命令行
[SC] OpenSCManager 失败 5: 拒绝访问。
第四步 测试
用TortoiseSVN测试一下
将项目发布到服务器
在电脑任意位置建一个文件夹,并放几个文件
我在E盘根目录下建了一个测试项目的文件夹,并放了几个文件
在测试文件夹上右键,选择 TortoiseSVN –> Import
填写SVN地址
svn//:localhost/svndemo
这里svndemo就是我们在第三步中创建的
然后输入第三步配置的用户名密码
这样就把项目发布到svn服务器了
从服务器下载项目
在电脑的任意位置即可下载,我在E盘建了一个下载的文件夹用来下载SVN服务器上的项目
在下载的项目文件夹中的空白区域右键选择 SVN CheckOut
输入svn服务器地址
看到如下界面表示下载完成
我们看到下载的文件夹中多了很多文件,这些文件就是从SVN服务器上下载的。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通