流心
发布于 2025-07-06 / 1 阅读
0

基于Windows搭建SVN服务器

一、 安装 SVN 软件

在SVN官网下载 SVN 软件,运行软件安装 -> 点击 next

二、 创建服务器端目录

创建一个目录作为仓库存放,新建文件夹 -> svnserver -> 进入文件夹 -> 新建文件夹 -> repository -> 右键创建仓库

create folder stucture -> ok

三、配置文件

打开 conf 的文件夹,里头存放四个文件分别是 svnserve.conf、passwd、hooks-env.tmpl、authz,其中passwd 是配置账号密码的文件,svnserve是系统文件,authz是系统权限的文件

打开svnserver 将 # 号取消掉,配置以下四个参数

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

realm = repository

打开 password 创建用户

[users]

# harry = harryssecret

# sally = sallyssecret

xxx = xxx

打开 authz 分配权限

[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
dev = xxx  创建开发组

# [/foo/bar]
# harry = rw
# &joe = r
# * =

# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r

[/]
@dev = rw 开发组权限为读写

通过cmd启动这个仓库

"C:\Program Files\TortoiseSVN\bin\svnserve" -d -r d:\svnserver\

暂时不能关闭 cmd 界面 访问地址 svn://127.0.0.1/仓库名

四、将仓库下拉到文件夹

创建文件夹 svnclient -> repostiory -> 右键点击 svnchekout -> 输入账号密码后将仓库文件拉下来

在 repostiory 创建一个文件尝试上传到 svn 仓库 右键 svncommit

然后到 svn 浏览器确认有没有这个文件

五、设置提交模版文件

在仓库中找到 hooks 文件夹里面的 pre-commit.tmpl 文件复制一份后将后缀名改成 .bat 文件

打开 pre-commit.bat 文件 将下面的提交规则写入,另存为 -> 保存然后双击运行(如果字体出现乱码就更改编码格式),这个是提交必须写注释的提交规则

set REPOS=%1
set TXN=%2

:: 获取提交注释
for /f "delims=" %%i in ('svnlook log -t "%TXN%" "%REPOS%"')do set logmsg=%%i

:: 检查注释长度
if "%logmsg%" == "" (
	echo 你必须输入提交注释 1>&2
	exit 1
)
:: 如果满足需求则允许提交
exit 0

六、设置开机自启动

关掉刚才的 cmd

重新输入

sc create SvnServe binPath= "C:\Program Files\TortoiseSVN\bin\svnserve.exe --service --root d:\svnserver" DisplayName="SvnServe" depend= tcpip start= auto

如果禁止访问就使用管理员访问cmd

七、修改访问地址

右键仓库 -> svn -> Relocate -> 输入局域网地址 -> 就可以使用 svn://局域网地址/仓库名字进行局域访问