svn钩子函数(HOOK)的使用-win平台

注意:测试之前一定要先把服务器站点根目录代码更新到最新版本


强制书写提交说明

  • 首先在相应版本库的hooks目录(我的是C:\svnRepositories\fsmtestsvn\hooks)新建一个文件:pre-commit.bat

  • 文件内容编辑如下:

@echo off
setlocal
set REPOS=%1
set TXN=%2

rem 这个svn服务器安装目录下面的bin下面的svnlook.exe
set SVNLOOK="C:\svnserver\bin\svnlook.exe"

rem 检查不能为空,至少输入十个字符(几个点就是几个字符)
%SVNLOOK% log %REPOS% -t %TXN% | findstr ".........." > nul

if %errorlevel% gtr 0 goto err
exit 0
:err
echo 您正在操作的项目是fsmtestsvn >&2
echo 不允许空日志,提交中断(需要不小于10个英文字符或5个汉字的日志)! >&2
exit 1

自动更新同步服务器站点目录的代码

  • 1. 首先在版本库的hooks目录(我的是C:\svnRepositories\fsmtestsvn\hooks)新建一个文件:post-commit.bat

  • 文件内容编辑如下:
前一个路径为svn服务端的svn.exe的路径,后一个为需要被同步的网站站点目录,用户名和密码就是你登录并检出版本库时的用户密码
@echo off
"C:\svnserver\bin\svn.exe" update "C:\fsmSoftWeare\phpstudy\WWW\testsvnhook" --username "xxx" --password "xxx"
到此测试一下,首先将服务器上面的网站部署目录代码更新到最新版,然后到本地提交一个测试文件,看服务器上面是否自动更新,如果更新成功则到此结束,如果提交过程中报错,应该是权限不够,看第二步
  • 2. 到计算机的服务里面找到VisualSvn server,右键属性,在登录选项里面,把此账户改为.\Administrator,密码改为你的服务器密码,点击确定保存,然后右键停止VisualSvn server服务,再重新开启该服务

svn钩子函数(HOOK)的使用-win平台


快捷方式添加hook

直接在版本库右键=>properties=>hooks里面编辑相应的hook

svn钩子函数(HOOK)的使用-win平台

相关推荐