当前位置: 首页 > news >正文

win11安装TortoiseSVN配置svn服务端与汉化

一、安装TortoiseSVN

先去下载一个TortoiseSVN的安装包,如下图所示:

注:此处不提供下载路径,有需求的同学们上官网自取即可。

双击这个后缀为.msi的安装包进行安装,一直点击“Next”安装即可。

注1:安装时一定要注意勾选command line client tools!!!

否则会发现安装好后的bin目录下缺少了svnserver.exe文件,以至于后续无法运行创建好的服务。

注2:安装时选无中文且无空格的文件夹路径进行安装。

安装完成后,建议重启一下电脑。

二、创建版本库

版本库可以理解为项目的“服务器仓库”,所有文件版本都存放在这里。
在你电脑任意位置(比如E盘)新建一个文件夹,命名为“SVNRepo”作为版本库的根目录。

注:需无中文且无空格的文件夹。

在这个“SVNRepo”文件夹上点击鼠标右键,选择 “TortoiseSVN” -> “Create repositoryhere"。
在弹出的窗口中,选择“Createnewrepository”,然后点击“OK”。

稍等片刻,这个文件夹里就会多出一些conf、db等文件夹,即代表版本库创建成功了。

三、配置用户和权限

现在需要设置谁能访问这个仓库,以及有什么样的权限。

(1)编辑配置文件

打开SVNRepo文件夹下的conf子文件夹,会看到svnserve.conf、passwd、authz这三个文件。

(2)配置svnserve.conf

将svnserve.conf用记事本打开,如下图所示:

找到下面这几行,去掉前面的#号注释,再对应修改成如下内容并保存,这表示启用密码验证和权限控制。

[general] anon-access = none # 把匿名访问禁用 auth-access = write # 把验证访问允许写 password-db = passwd # 用于配置用户密码的文件 authz-db = authz # 权限分配的文件 realm = SVNRepo # 写成仓库文件名

(3)配置passwd(创建用户)

将passwd用记事本打开,如下图所示:

在[users]下方添加你的用户名和密码,格式为:用户名=密码

[users] admin = 123456 #用户名=密码

然后就创建了一个用户出来,接着保存一下。

(4)配置authz(设置权限)

将authz用记事本打开,如下图所示:

在[groups]下先创建一个组,左边是一个开发组,右边就是用户

[groups] developers = admin #开发组=用户

再在下面分配一个仓库路径,访问权限分配一个根目录,然后分配一个开发组有读写的权限,保存下。

[/] @developers = rw #这表示developers用户组对根目录有读写权限

保存完后,这个服务器端就配置完了。

配置完后,启动服务端。

四、启动SVN服务

为了让SVN能在后台运行,把它注册成一个Windows服务,这样开机就能自动启动,不用每次都手动敲命令。

在[开始]菜单搜索“cmd”或“命令提示符”,选择“以管理员身份运行”。

在弹出的黑色窗口中,输入下面的命令并回车——

sc create SVNService binPath= "D:\download\TortoiseSVN\bin\svnserve.exe --service -r E:\SVNRepo" displayname= "SVN Server" depend= Tcpip start= auto

注:路径要改成你自己的svnserve.exe及版本库的实际路径!

sc create SVNService binPath= "D:\download\TortoiseSVN\bin\svnserve.exe --service -r E:\SVNRepo" displayname= "SVN Server" depend= Tcpip start= auto

[命令说明] sc create SVNService ##创建一个名为SVNService的服务 binPath= ##指定svnserve.exe的路径和启动参数 "D:\download\TortoiseSVN\bin\svnserve.exe --service -r E:\SVNRepo" ##我的svnserve.exe及版本库的实际路径 start= auto ##设置为开机自动启动

在Win7及以上系统中,运行该命令需要管理员权限,否则会得到如下错误提示:

当看到“[SC] CreateService 成功”的提示,即表示服务创建成功。

输入net start SVNService并回车,启动服务。

net start SVNService #启动服务

如果启动失败或发生系统错误找不到指定文件等,那很有可能是binpath中的内容有错误,此时只能将已经创建的服务删除,重新创建。删除服务的命令格式如下:

sc delete SVNService #删除服务

删除服务之前,最好先停止服务。停止服务的命令格式如下:

net stop SVNService #停止服务

删除、启动、停止服务同样需要管理员权限

net start SVNService #启动服务 net stop SVNService #停止服务 sc delete SVNService #删除服务

五、打开版本库浏览器

单击鼠标右键选择“TortoiseSVN” -> “Repo-browser"

在“URL”一栏输入svn://localhost/E:/SVNRepo点OK

svn://localhost/E:/SVNRepo ## localhost代表本机 ## E:/SVNRepo为我的仓库路径

输入最开始设置的用户名与密码

即可跳转至版本库浏览器

六、客户端连接测试

现在,我们来测试一下是否能成功连接。


新建一个文件夹,进去后右键选择“TortoiseSVN” -> “Checkout"。

注:检出路径得无中文且无空格。

“URLof repository:”一栏输入svn://localhost/E:/SVNRepo(即服务端复制过来的路径)

“Checkout directory:”一栏输入E:\admin(这是我自己想检出的路径)

点击“OK”会弹出登录框,输入刚才在passwd文件里设置的用户名和密码。
如果连接成功,就会Checkout Finished!

接着在检出成功的文件夹里新建一个文件夹,然后右键选择“TortoiseSVN” -> “Commit"进行提交。

勾选要提交的文件后点OK即可上传成功。

然后可以在版本库浏览器里右键点击refresh刷新一下,就可以看到刚才提交的文件夹了。

七、强制提示输入提交注释

在版本库文件夹SVNRepo里的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

注:“echo”后的内容即为弹出的提示可自由发挥。

接着将文件“另存为” -> 保存类型:所有文件(*.*) -> 编码:ANSI-> 点“保存”,替换一下原来的pre-commit.bat文件。

这时再回去试着不填写注释直接点OK提交文件。

会发现提交失败,会弹出“你必须输入提交注释!”的提示

只要在提交文件时输入了注释,然后再点OK就可以成功提交了。

八、TortoiseSVN汉化

先去下载一个TortoiseSVN中文安装包,如下图所示:

注:此处不提供下载路径,有需求的同学们上官网自取即可。

接着双击这个后缀为.msi的安装包进行安装,一直点击“Next”安装即可。

安装成功后单击鼠标右键选择“TortoiseSVN” -> “Settings",查看里面的Language是否已选为中文,保存一下。

若发现Language已选了中文,但依旧没有汉化成功的话,可重启电脑查看即可生效.

http://www.cnnetsun.cn/news/3624557.html

相关文章:

  • 【单片机毕业设计推荐】基于 STM32 的带温度补偿超声波测距预警系统设计,基于 STM32 的可调阈值超声波声光报警装置设计(014203)
  • Shiro漏洞检测工具环境配置:JavaFX与JDK11实战指南
  • Mapbox GL JS 3.27.0 发布:升级 TypeScript 7,修复多项关键 Bug
  • 新闻稿AI化已成定局:但你的团队还在用ChatGPT抄提示词?——企业级新闻生成平台选型评估矩阵(含Latency/FAIR/Traceability三维评分标准)
  • Agentic AI时代:提示工程架构师的技术转型与实战
  • Postman Fuzz 模块 vs APIFox Fuzz 模糊测试 完整对比分析
  • VMware Unlocker 3.0 实战指南:在普通PC上解锁macOS虚拟机支持
  • 多模型路由与推理成本优化:一个网关调度 3 个 LLM 的生产级方案复盘
  • Linux第29篇:Kubernetes从零部署Java微服务集群:容器编排实战
  • OneMore插件:160+功能重塑你的OneNote笔记工作流
  • AI如何动态调节《原神》角色强度?:基于百万局对战数据的实时平衡模型揭秘
  • 3分钟解锁QQ音乐加密文件:qmcdump终极完整指南
  • 终极Wand专业版解锁指南:告别付费订阅的游戏修改新体验
  • 基于YOLOv12的道路坑洼智能检测系统开发实践
  • 央国企数据平台建设复盘:合规约束下的AI+BI推进节奏
  • 国产智能运维平台哪家强?
  • AI低代码破局企业数智化:多行业落地解决方案与实战方向
  • OH My GOD!让AI直接返回JSON,这个技巧早该学会了(四)
  • 显卡驱动彻底清理终极指南:DDU专业工具深度解析与应用
  • LLaMA-Factory 实战:从零微调 Qwen2.5 大模型的完整指南
  • 边缘端 AI 部署实战:从模型量化到树莓派/手机推理的完整方案
  • 网络流量分析,运维团队到底在看什么?
  • 浏览器背后的“试验田“:Chromium 究竟是什么?
  • 2026年AI配音技术选型:从开源TTS到商业API,7款方案横向评测
  • SonicWall SMA1000双零日漏洞实战排查、检测与整机重刷修复全教程
  • 【JAVA毕设源码分享】基于Java的宠物用品系统的设计与实现(程序+文档+代码讲解+一条龙定制)
  • 五、Oracle vs MySQL 架构深度对比笔记
  • 科研写作中的AIGC检测与降噪技术解析
  • Kafka Schema Registry兼容性崩了?AI生成代码的5个隐性陷阱,92%工程师踩过第4个——附自动检测CLI工具开源地址
  • QT学习教程与实战一:设置与设备