php svn仓库提交预处理
需要做的事情
1.检查是否填写注释
2.php文件是否有语法错误
pre-commit脚本
hook脚本名称:hooks/pre-commit
REPOS="$1"
TXN="$2" # Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook LOGMSGLEN=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[^ \t\n]" | wc -c`
if [ $LOGMSGLEN -lt 5 ];then
echo -e "亲,忘了写注释哦~~~" 1>&2
exit 1
fi # Check that the author of this commit has the rights to perform
# the commit on the files and directories being modified.
# commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1 # 检查php文件语法
phpFiles=`$SVNLOOK changed -t "$TXN" "$REPOS" | grep -e '.php'| awk '{print $2}' | xargs` retSts=0 for phpFile in $phpFiles;do
ret=`$SVNLOOK cat -t "$TXN" "$REPOS" "$phpFile" | php -l`
if [ $? != 0 ];then
echo "${ret},file:${phpFile}" 1>&2
retSts=1
fi
done if [[ "$retSts" -eq 1 ]];then
exit 1
fi # All checks passed, so allow the commit.
exit 0
参考资料
【1】svnlook命令介绍
www.cnblogs.com/wangjiyuan/p/svnnn.html
【2】SVN-钩子祥解与配置
http://www.cnblogs.com/gaohj/p/3154448.html
php svn仓库提交预处理的更多相关文章
- 使用git svn clone迁移svn仓库(保留提交记录)
使用git svn clone迁移svn仓库 clone命令可以指定很多参数,主要用到这些,你也可以使用git svn help查看完整的参数列表. git svn clone https://172 ...
- SVN仓库删除最近的提交,还原到某日期以前的版本(svn仓库 删除最近几次更改)
由于某日删除了SVN仓库的大量内容,现在突然想恢复,又要保留LOG的连贯性(恢复出来的已删除文件,会是新增,没有之前的历史Log了),所以才有了这需求. Dump版本库的版本(457以后版本不要) - ...
- 【转】创建SVN仓库的步骤
转载地址:http://www.cnblogs.com/ivan0626/p/3783053.html 今天在客户现场联调,两个开发人员之间的代码想用SVN来管理,所以就临时在本地机器上搭建一个S ...
- 使用git svn clone迁移svn仓库
使用git svn clone迁移svn仓库 clone命令可以指定很多参数,主要用到这些,你也可以使用git svn help查看完整的参数列表. git svn clone https://172 ...
- webstorm与SAE的svn仓库链接进行版本控制
这里把我使用webstorm与SAE的svn仓库链接: 1.先得设置webstorm中的版本控制,File->Settings->Version Control->Subversio ...
- 如何将SVN仓库转换为Git仓库
按如下步骤操作就可以将SVN仓库完整的转换为Git仓库: 1) 将远程SVN仓库搬到本地(这一步主要是为了提高转换的速度,也可以忽略) 参考这篇文章: http://rongjih.blog. ...
- 【LINUX】SVN 代码提交之后。同步到web目录下
1 当你使用svn在成功提交一个新版本的时候,svn仓库目录下的hook文件夹下的post-commit脚本会运行 用shell写一个脚本,在提交完版本后,自动在web目录运行一下svn updat ...
- Linux svn仓库备份到Windows机器上
Linux svn仓库备份到Windows机器上 1,需求说明,Linux作为主库(A),Windows作为本地备份库(B),要求每天将Linux库中的代码备份到本地 2,B机器上安装svn服务端 3 ...
- 创建SVN仓库的步骤
今天在客户现场联调,两个开发人员之间的代码想用SVN来管理,所以就临时在本地机器上搭建一个SVN仓库.现将操作步骤记录下来,以便后续查阅. 1.安装SVN服务端Setup-Subversion-1.6 ...
随机推荐
- blockhouses
题意 : 给你一张图上面" X " 代表墙 , " . " 代表空地 , 让你在空地上放置炮台 , 条件是 不能 让彼此的炮台 可以互相看见 ( 隔着墙就看不见 ...
- BZOJ 2178 Simpson积分
思路: 我发现能用Simpson积分水的题 好像都是裸题诶233333 //By SiriusRen #include <bits/stdc++.h> using namespace s ...
- Squirrel的安装(windows上Phoneix可视化工具)
一.下载安装 下载地址:http://www.squirrelsql.org/下载所需版本 或者 从网址http://www.squirrelsql.org/下载相应版本的squirrel ...
- C#用Microsoft.Office.Interop.Word进行Word转PDF的问题
之前用Aspose.Word进行Word转PDF发现'\'这个字符会被转换成'¥'这样的错误,没办法只能换个方法了.下面是Microsoft.Office.Interop.Word转PDF的方法: p ...
- Android ScrollView里嵌套RecyclerView时,在RecyclerView上滑动时出现卡顿(冲突)的现象
最近在项目中遇到一个现象,一个界面有一个RecyclerView(GridView型的),外面套了一层ScrollView,通过ScrollView上下滚动,但是在滑动的时候如果是在RecyclerV ...
- iOS CoreData 开发
新年新气象,曾经的妹子结婚了,而光棍的我决定书写博客~ 废话结束. 本人不爱使用第三方的东东,喜欢原汁原味的官方版本,本次带来CoreData数据存储篇~ 创建应用
- 怎么搭建Hibernate对象持久化框架?
DBC:(Java Data Base Connectivity)java数据库连接 java.sql包提供JDBC API,可通过它编写访问数据库的程序代码.其中常用的接口和类包括下面内容: Dri ...
- POJ 3070 - 快速矩阵幂求斐波纳契数列
这题并不复杂. 设$A=\begin{pmatrix} 1 & 1 \\ 1 & 0 \end{pmatrix}$ 由题中公式: $\begin{pmatrix}f(n+1) & ...
- 几种fullpage用法及demo
jQuery全屏滚动插件fullPage.js https://github.com/alvarotrigo/fullPage.js http://www.dowebok.com/77.html 全屏 ...
- GatewayWorker + LayIM实现即时聊天
一.程序目录结构 二.代码展示 附LayIM开发文档:https://www.layui.com/doc/modules/layim.html 1.前端代码 <!DOCTYPE html> ...