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已选了中文,但依旧没有汉化成功的话,可重启电脑查看即可生效.
