SVN设置更新钩子

实现SVN与WEB同步,可以CO一个出来,也可以直接用自动更新web目录的方法,我们要在svn版本库中配置钩子来实现,就是创建一个post-commit的配置文件,对其进行简单的配置,简简单单的四步就可以实现Linux下SVN自动更新web目录配置。 
第一步:建立你的web程序目录

mkdir test,并且进入目录检出svn

我的做法是直接web目录检出svn再修改目录名

 第二步:在项目库的 hooks/ 目录下新建 post-commit 文件 【钩子脚本】

添加脚本如下

第三步:让post-commit有执行的权限(有读写即可,我是直接777了)

需要注意的是svn提交后出现255的报错是文件写入权限的问题。

第四步:这里就已经完成了,第四步就是测试了。

说明: 
export LANG=en_US.UTF-8是为了解决svn post commit 中文乱码,设置本地化编码,因为我的系统为UTF8编码,其实SVN默认就是UTF-8编码,如果编码是GBK的话不设置将会出现错误,而执行不成功,错误标识为

svn: Can‘t convert string from native encoding to ‘GBK‘

  需要设置编码为:export LANG=zh_CN.GBK

如果提示:

post-commit hook failed (exit code 255) with no output

  赋予post-commit文件可执行权限

原文地址:https://www.cnblogs.com/burningc/p/8584393.html

时间: 2024-09-30 06:44:57

SVN设置更新钩子的相关文章

SVN自助更新:运维利器Puppet实例讲解(一)(1)

Puppet是一种Linux.Unix平台的集中配置管理系统,使用自有的puppet描述语言,可管理配置文件.用户.cron任务.软件包.系统服务等.本文通过Puppet进行Apache Web服务器的配置同步,对于两台以上服务器的配置管理非常方便. 这个SVN自助更新系统的实现思路如下: 一.开发平台 apache+perl-cgi puppet 二.功能介绍 系统管理员/项目执行者/开发人员通过web的get对应的url,然后触发更新puppet-master中的一个文件,puppet-cl

【SVN】SVN设置日志提交限制和日志模板设置(windows下)

1.SVN设置日志提交限制 服务器中安装的VisualSVN Server ,在新增Repositoreis时,每个Repositoreis(即新建的项目)下都会有一个hooks(钩子程序)在hooks目录下有一些tmpl文件,作为不同的hooks操作 新建一个pre-commit.bat文件,文件内容如下: @echo off setlocal set SVN_BINDIR=C:/Program Files/VisualSVN Server/bin/ set REPOS=%1 set TXN=

利用SVN的post-commit钩子实现多项目自动同步

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://qicheng0211.blog.51cto.com/3958621/1563159 svn的post-commit钩子脚本在每次提交(commit)之后运行,我们可以在这个脚本里实现一些比较实用的功能,比如发送邮件提醒.自动备份版本库,自动同步代码到web服务器等. 这里用post-commit实现多项目自动同步,思路:在svn版本仓库根目录下划分多个项目文件夹,项目组成员在提

svn提交更新代码提示Please execute the 'Cleanup' command

那可能是提交或更新代码的过程意外终止,第二次提交或更新会报这个错误 更新或上传的时候动作没有完成,导致本地存在锁定状态没有释放 或者有文件正在更新或上传,该文件夹被锁定. 解决办法: 将对应文件夹里的.svn文件夹内的lock文件删除(.svn默认被隐藏,查看设置显示隐藏文件夹) 重新从仓库checkout一个项目下来,替换刚刚那个提交不上去的文件夹中的.svn即可. svn提交更新代码提示Please execute the 'Cleanup' command 原文地址:https://www

python 提交SVN 写更新日志

SCENE = "mjdy_dyhry" DIRS = { "md5/scenes/" + SCENE, "data/tex/scenes/" + SCENE, "data/tex/share", "data/mesh/scenes/" + SCENE, } import os WORKSPACE = "D:/workspace/muData/"#os.getcwd()+ # execu

详解SVN提交更新七大准则

本节向大家讲解一下SVN提交更新的一些准则,上一节我们学习了SVN提交时遇到的一些问题及解决方法,这里和大家分享一下SVN提交更新的一些准则,欢迎大家一起来学习SVN提交更新问题. 记得有一次提交SVN更新,将Eclipse自动生成的文件也一并提交了,结果导致组员update之后项目无法工作. 某日看了一篇关于SVN提交更新的一些建议,粘过来,并做了一些裁剪和修改,如下: ①负责而谨慎地提交自己的代码 SVN更新的原则是要及时更新,及时提交.当完成了一个小功能,能够通过编译并且并且自己测试之后,

svn 设置强制要求注释

在svn的库数据文件的hooks文件夹下面 有pre-commit.tmpl,我们把它备份一下pre-commit-bk.tmpl, 然后新增加一个 pre-commit.bat,里面填入如下脚本 即可. @echo off setlocal set REPOS=%1 set TXN=%2 rem check that logmessage contains at least 5 characters svnlook log "%REPOS%" -t "%TXN%"

为什么svn提交更新时会出现错误:MKCOL of '...': 405 Method Not Allowed

通常,这是因为服务器上已经有了同名的文件/文件夹,而本地又要添加新的文件/文件夹. 解决办法是把本地文件复制一份到别的地方(记得去除.svn文件夹),从服务器checkout命名冲突的部分,然后用把复制的部分再复制过来,最后再checkin. 为什么svn提交更新时会出现错误:MKCOL of '...': 405 Method Not Allowed

svn 设置文件可执行权限

本地文件在commit到仓库之前若没有chmod +x 权限的话,那在svn仓库里的文件将会保持当前无可执行属性状态. 即使在本地chmod +x filename 之后,再提交到仓库也是没有用的.check out到其他目录的时候,文件仍然没有可执行权限. 需要使用svn 设置文件属性,如下 linux: svn propset svn:executable on * svn commit -m "" Hiviewxxx windows: 右键 - > propeties -&