windows下svn钩子实现每次提交更新至web目录

Posted good good study, day day up !

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows下svn钩子实现每次提交更新至web目录相关的知识,希望对你有一定的参考价值。

目的

找 到SVN Server中的仓库(Repositories)文件夹的位置,在相应的项目文件夹中找到hooks文件夹。在该文件夹中添加一个post- commit文件;当有commit动作发生时(提交到SVN Server时)就会执行这个post-commit文件,在该文件实现数据的复制、

步骤

1.找到svn服务器端某个项目仓库目录下(本例中服务端已新建一个test项目):

2.在hooks目录下新建post-commit.bat 文件,内容如下:

@echo off

SET REPOS=%1
SET REV=%2
SET DIR=%REPOS%/hooks
SET PATH=%PATH%;
SET WORKING_COPY=E:/myweb  //此处是你的项目路径

svn update %WORKING_COPY% --username tianyl --password 111111    //输入svn用户名密码

3.web目录下一定要用TortoiseSVN checkout出Repositories的代码

4..还有一个注意问题——Visual SVN Server的权限,否则可能会出现下列错误:
post-commit hook failed (exit code 1) with output:
svn: E155004: Working copy \'D:/www/Test\' locked
svn: E200031: sqlite: attempt to write a readonly database
svn: E200031: sqlite: attempt to write a readonly database
svn: run \'svn cleanup\' to remove locks (type \'svn help cleanup\' for details)
原因是Visual SVN Server服务的执行权限不够,不能对指定目录做读写操作。解决办法,修改Visual SVN Server 
简单操作 windown下在运行中输入 services.msc 找到visual svn server 服务 右键属性 登陆面板 设置桌面交互或者管理员权限再试

如图:

以上是关于windows下svn钩子实现每次提交更新至web目录的主要内容,如果未能解决你的问题,请参考以下文章

svn配置钩子更新网站目录 每次提交 程序会卡在正在发送文件 有人说是 脚本有问题 手动执行脚本没有问题

在Linux和Windows下安装SVN钩子脚本

SVN 钩子操作-同步更新web目录

SVN设置更新钩子

配置SVN的hooks功能自动更新代码

centos 6.8 设置svn钩子同步至web目录